1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

Hỏi về cấp phát IP

Chủ đề trong 'Hỏi đáp Tin học' bởi zazu, 11/11/2001.

  1. 1 người đang xem box này (Thành viên: 0, Khách: 1)
  1. zazu

    zazu Thành viên rất tích cực

    Tham gia ngày:
    09/05/2001
    Bài viết:
    1.736
    Đã được thích:
    0
    Hỏi về cấp phát IP

    ặ cĂc bĂc ặĂi, cho tui hỏằi
    CĂch mà server nó cỏƠp phĂt 'ỏằi 1 mĂy chỏằĐ, rỏằ"i lỏĂi Leased Lines vỏằ>i ISP.
    Vỏưy server cỏằĐa ISP nào nhỏưn ra mĂy tui thỏ nào ???
    Tui ngu mỏƠy cĂi vỏằƠ này lfm, bĂc nào bưt mỏằY mang 'ỏĐu óc cho tui cĂi.


    ã$ã Z***Z ã$ã​
  2. Nguyen_Huy

    Nguyen_Huy Thành viên quen thuộc

    Tham gia ngày:
    20/06/2001
    Bài viết:
    918
    Đã được thích:
    0
    Câu hỏi của bác lớn quá, xin trả lời ngắn gọn chút thôi nhé. Mạng là tập hợp kết nối của hosts và routers. Nguyên tắc mỗi host link đến network qua một đường kết nối vật lí duy nhất. Khi host muốn gửi một datagram vào network, host sẽ phải gửi qua cái link đó. Cái phần giao tiếp giữa host và kết nối (coaxial cable, twist pair copper wire, fibber optic... nó gọi là interface. Tương tự với router, nhưng router có trách nhiệm forward packets nên nó có 2 interfaces, một cho outgoing link và một cho incoming link.
    Mỗi interface sẽ có một số IP gán cho nó. IP address (version 4) thì là 4 bytes, mỗi byte sẽ được ngăn cách vởi một dấu chấm. Do đó IP nó có dạng ntn:
    XXX.XXX.XXX.XXX. Số Ip là duy nhất tức là không thể tồn tại 2 interfaces có chung số IP. IP address chia ra làm 5 loại:
    Class A: 1 byte đầu tiên để xác định network, 3 bytes còn lại xác định interface trong network đó. Cái này từ 1.0.0.0 đến 127.255.255.255)
    ClassB: 2 bytes đầu tiên xác định network, 2 bytes còn lại xác định interface cái này từ 128.0.0.0 dến 191.255.255.255
    Class C 3 bytes đầu là dành xác định network, 1 byte cuối xác định interface. (192.0.0.0 đến 223.255.255.255)
    Class D là những IP còn lại cái này dành cho multicast
    Ví dụ như một ISP được cấp phát chuỗi IP200.16.55.0/20 chẳng hạn, nghĩa là 20 bit ngoài cùng bên trái của IP không thể thay dổi, nó được dùng để các "mạng" khác xác định được đâu là "mạng" được cung cấp bởi ISP đó. Còn lại 12 bit cuối dành cho gán cho mỗi interface. Trường hơp của bạn máy bạn nằm trong LAN tương tự vậy, 20 bit đầu giống với ISP, chi khác 12 bit sau. Cái 12 bit đó thì nó cứ chọn random thôi miễn sao cho không có interface nào có chung số IP là được.
    Câu hỏi 2 của bạn là server của IP nhận ra máy tôi thế nào thì ở cái router nó có một cái gọi là routing table, nó giữ tất cả các IP mà router đó có trách nhiệm gửi packets đi và đến. Khi server muốn send gì đó cho máy bạn thì lôi cái table đó ra đối chiếu rồi gửi thôi.
    I'll always assume no responce means you agree with me
    http://www.club1981.cjb.net
    [​IMG]
  3. loveseek

    loveseek Thành viên mới

    Tham gia ngày:
    14/10/2001
    Bài viết:
    11
    Đã được thích:
    0
    Nếu thế thì ví dụ mình có một chương trình chat , dùng địa chỉ IP để kết nối với nhau, thì làm thế nào để phân biệt các máy trong cùng một mạng LAN ( mấy máy này sẽ có cùng IP) khi kết nối từ máy bên ngoài ?
  4. Nguyen_Huy

    Nguyen_Huy Thành viên quen thuộc

    Tham gia ngày:
    20/06/2001
    Bài viết:
    918
    Đã được thích:
    0
    Đâu có trong LAN mỗi máy có một IP chứ sao chung được. Mỗi một máy với một kết nối với mạng sẽ được gán cho 1 số IP. Ví dụ như 2 máy A và B trong LAN cùng dùng YIM để kết nối với một máy C ở ngoài LAN. Tôi vẽ cái mô hình ra nhé:
    A ----------------------B
    200.1.1.3 | 200.1.1.2
    | (200.1.1.4)
    Router
    | (200.1.1.5)
    . (mot so router nua o day)
    |
    C (223.4.5.6)
    Giả sử chú C gửi một packet đến cho máy A. packet được send đến router, router sẽ tìm trong routing table ra cái số IP của cái incoming interface (200.0.1.4) router nhận được cái packet rồi thì tìm trong routing table của nó xem IP của A là gì. trong ttrường hơp này thì các máy tính trong LAN bao gồm cả A và B connect đến Internet qua một số IP duy nhất. C không hề biết A và B chung một IP. Chuyện packet nào đến máy nào là chuyện do cái router quyết định.
    Được sửa chữa bởi - NguyenHuy vào 11/11/2001 18:54
  5. zazu

    zazu Thành viên rất tích cực

    Tham gia ngày:
    09/05/2001
    Bài viết:
    1.736
    Đã được thích:
    0
    Bác Huy ới ời, xin lỗi bác chút nữa ạ.
    Chả là em vẫn chưa hiểu rõ cái chỗ bác giải thích về Lan.Theo như bác nói thì Lan chỉ được ISP cấp cho 1 IP add và nó sẽ không phân biệt được các máy trong Lan. Vậy thì trong 1 Lan, việc quản lý địa chỉ như thế nào hở bác ???
    Phần bác giải thích về cái router nữa ạ.
    Em không rõ lắm về cái vụ routing table mà bác nói. Xét theo logic mà nói, thì việc lưu địa chỉ các host kết nối với nó là không khôn ngoan. Nếu như số lượng kết nối rất nhiều, chẳng hạn như yahoo có vô số host nói vào nó, vậy chẳng lẽ phải lưu hết tất cả các IP ? Nó sẽ quản lý thế nào, lưu đến bao giờ ?.
    Theo một tài liệu em đọc được thì nó lại bảo rằng phía sau router phải có cái gọi là Default Gateway. Chính cái này mới quản lý Network ID. Router chỉ nhận gói tin và so sánh với Default Gateway, nếu đúng thì OK, không thì lại forward đi tiếp.
    Thế nhưng mà trong sách cũng lại nói, Router cũng có nhiệm vụ định hướng đi thuận lợi nhất cho gói tin. Vậy nó làm cách nào để biết đi đường nào là có lợi. Điều này lại chứng minh là việc lưu lại một cái gì đó ở router có vẻ có lý.
    Túm lại thì thế nào là đúng hở bác ???
    Bác Huy hay bác nào biết làm ơn giải thích dùm em cái.
    Chứ cứ ù ù cạc cạc thế này bực mình chết đi được.
    ÷$÷ Z***Z ÷$÷​
  6. Nguyen_Huy

    Nguyen_Huy Thành viên quen thuộc

    Tham gia ngày:
    20/06/2001
    Bài viết:
    918
    Đã được thích:
    0
    Thứ nhất nói đễn chuyện nhiều máy chia sẻ một kết nối đến Internet, nói chung là có hai cách một là tất cả các máy trong LAN kết nối đên Internet qua một kết nối duy nhất, tức là các máy đều kết nối chugn qua một IP. Trường hợp này sẽ có một bộ phận (hardware hay software) đóng vai trò webcache. Khi một máy muốn request một trang web nào đó chẳng hạn nó sẽ gửi request đến cho proxy, proxy search trong cái collection của nó, nếu có thì nó sẽ send lại cho client vừa request một bản copy và set lại timeout. Nếu không có, proxy sẽ request cái trang web đó thay cho client, khi nhận được thông tin proxy sẽ giữ một bản copy và gửi cho client vừa request một bản. Máy nào request cũng phải qua cái proxy đó hết. Đó là cách mà đa số LAN dùng.
    Trường hợp thứ hai các máy trong LAN đều có IP riêng và coi như kết nối thẳng đến INternet chứ không qua proxy, tuy nhiên cách này không kinh tế và trên thực tế làm giảm tốc đọ truy cập đi rất nhiều do 2 lí do chính:
    1 là thường kết nối từ LAN đến ISP chậm hơn kết nối trong LAN với nhau.
    2 là một object có thể phải request nhiều lần, điều này rất dễ xảy ra vì thường những ngưoi chung LAN là cùng cong ty hay cùng chơi games gì đó nên có xu hướng request same objects.
    Giờ nói đễn cái chuyện routing trong LAN, network nó chia ra làm 5 layer,
    Application layer -> cái này bao gồm những thú bác dùng như Web browser (HTTP), email (SMTP), File transfer (FTP)
    Transport layer -> cái này gồm TCP và UDP
    Network layer -> cái này là IP và routing này
    Link layer -> cái này là LAN address
    Physical layer
    Cái routing là công việc của Network layer nhưng trong LAN thì thực ra ( cái này không thực sự đúng đâu thể nào cũng có bác bảo tôi nói bừa ) cái việc routing là cái job của Link layer nữa. Mõi cái ethernet card nó có một cái số gắn với nó gọi là LAN address, số này cũng như IP là số duy nhất, đọ dài của nó là 6 bytes. Môĩi khi nó cần gửi data ( trong trường hơp của link layer là frame) thì nó nhìn vào cái ARP table, nếu có LAN address của cái máy đó ở trong đó thì nó sẽ chuyển đến thẳng máy đó, nếu không có, cái node đó nó sẽ hỏi tất cả các máy nó có thể link đến xem có máy nào có LAN address trùng với cái địa chỉ gửi đến không, nếu có thì nó sẽ update cái ARP table và gửi dũ liệu đi, nếu không nó vứt cái dữ liệu đó vào bin.
    Về cái routing table, router chỉ lưu IP của các host connect trực tiếp với nó thôi, nếu nó thấy trỏng routing table có IP của destination host thì ok bằng không nó sẽ forward đến cho roủter tiếp theo. Cái router có thể biết hay không biết làm sao để gửi data đến destionation host, nhưng nó luôn biết cái hướng đi để đến đó. Chuyện bác zazzu nói là router có trách nhiệm định hướng đi thuận lợi nhất thì nó phụ thuộc vào cái routing algorithm bác ạ, mỗi hãng nó làm một khác mà tôi không học sâu nên chịu thôi, cái này bác Kamejoko mod của cái forum này biết rõ hơn vì đấy là ngành của bác ấy.
    Còn câu này của bác:
    ---------
    Nếu như số lượng kết nối rất nhiều, chẳng hạn như yahoo có vô số host nói vào nó, vậy chẳng lẽ phải lưu hết tất cả các IP
    ----------
    tôi không hiểu ý bác lắm, nếu bác nói đến các service của Yahoo như là web hay email thì đó là việc của application layer chứ không có liên quan gì đến routing cả. Cái yahoo web server nó không cần biết là ai connect đến nó, nó chỉ tạo ra http message, pass nó sang cho chú transpotr layêr, tp layer chia nhỏ ra thành nhiều packet rồi bọc ra ngoài một cái tp layer header rồi lại pass sang cho network layer, network layer đính vào môĩ một packet một cái source IP và một cái destination IP rồi gửi đi sang Link layer cứ thế thôi.... lúc đến người nhận thì quá trình lặp lại theo chiều ngược lại.
    Về cấu tạo cái router thì rắc rồi lắm để tôi thi xong xin gõ hầu bác tiếp.
    I'll always assume no responce means you agree with me
    http://www.club1981.cjb.net
    [​IMG]

Chia sẻ trang này