Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Ip internet protocol

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ip internet protocol

    SV: Lâm Văn Tú

    A. Cấu trúc gói tin IP:


    Cấu trúc một gói tin IP:

    Các gói IP bao gồm dữ liệu từ lớp bên trên đưa xuống và thêm vào một IP Header.IP Header gồm các thành phần sau:

    IP header:



    Phân tích các trường:
    1. Version Field:





    Version chỉ ra phiên bản của trình nghi thức IP đang được dùng là Ipv4 (0100) hoặc Ipv6 (0110), có 4 bit. Nếu trường này khác với phiên bản IP của thiết bị nhận, thiết bị nhận sẽ từ chối và loại bỏ các gói tin này.

    2.IP Header Length (HLEN):
    – Chỉ ra chiều dài của header , mỗi đơn vị là 1 word , mỗi word = 32 bit = 4 byte . Ở đây trường Header Length có 4 bit => 2^4 -1= 15 word = 15 x 4byte = 60byte nên chiều dài header tối đa là 60 byte(Đó là đã bao gồm chiều dài trường Options và Padding, chiều dài tối đa khi không bao gồm chiều dài của trường Options và Padding là 24 byte) . Giá trị bình thường của trường này khi không có Options được sử dụng là 5 (5 từ 32-bit = 5 * 4 = 20 byte). Đây là chiều dài của tất cảc các thông tin Header. Trường này cũng giúp ta xác định byte đầu tiên của Data nằm ở đâu trong gói tin IP datagram.
    3.Type Of Services (TOS): (8bit)
    Đặc tả các tham số về dịch vụ nhằm thông báo cho mạng biết dịch vụ nào mà gói tin muốn được sử dụng, chẳng hạn ưu tiên, thời hạn chậm trễ, năng suất truyền và độ tin cậy.



    Precedence. 3 bits. chỉ thị về quyền ưu tiên gửi datagram, nó có giá trị từ 0 (gói tin bình thường) đến 7 (gói tin kiểm soát mạng)



    D. 1 bit: chỉ độ trễ yêu cầu trong đó



    D=0: Độ trễ bình thường
    D=1: Độ trễ thấp.

    T (Throughput) (1 bit): chỉ độ thông lượng yêu cầu sử dụng để truyền gói tin với lựa chọn truyền trên đường thông suất thấp hay đường thông suất cao.
    T. 1 bit.Maximize throughput.




    T = 0 thông lượng bình thường và
    T = 1 thông lượng cao







    R (Reliability) (1 bit): chỉ độ tin cậy yêu cầu


    R = 0 độ tin cậy bình thường
    R = 1 độ tin cậy cao
    M. 1 bit. Chi phí tối thiểu

    M = 0 chi phí bình thường
    M = 1 chi phí tối thiểu
    Bảng giá trị khuyến nghị của trường TOS
    4.Total Length – Chỉ ra chiều dài của toàn bộ gói tính theo byte, bao gồm dữ liệu và header. Vì trường này rộng 16 bit, nên chiều dài gói tin dữ liệu IP là 65.535 byte, mặc dù hầu hết là nhỏ hơn. Hiện nay giới hạn trên là rất lớn nhưng trong tương lai với những mạng Gigabit thì các gói tin có kích thước lớn là cần thiết. Để biết chiều dài của dữ liệu chỉ cần lấy tổng chiều dài này trừ đi HLEN.

    5.Identification- tham số này dùng để định danh duy nhất cho một IP datagram trong khoảng thời gian nó vẫn còn trên liên mạng, giúp bên nhận có thể ghép các mảnh của 1 IP datagram lại với nhau vì IP datagram phân thành các mảnh và các mảnh thuộc cùng 1 IP datagram sẽ có cùng Identification .Đây là chỉ số tuần tự. Nó gia tăng khi mỗi lần gói tin dữ liệu gửi đi. Trường Identification rộng 16 byte, vì vậy sẽ có 65 535 định danh có thể sử dụng.

    6.Flag – Một field có 3 bit, trong đó có 2 bit có thứ tự thấp điều khiển sự phân mảnh. Một bit cho biết gói có bị phân mảnh hay không và gói kia cho biết gói có phải là mảnh cuối cùng của chuỗi gói bị phân mảnh hay không.
    Fragment Offset – Được dùng để ghép các mảnh Datagram lại với nhau, có 13 bit.

    Flags. 3 bits.



    R, reserved. 1 bit: Nên để giá trị là 0.

    DF, Don't fragment. 1 bit: Quản lý việc phân mảnh của gói tin dữ liệu.


    - DF = 0 : Phân mảnh, nếu cần thiết.
    - DF=1 : Không được phân mảnh.
    Bit DF được biểu thị chính là mệnh lệnh cho các router không được phân mảnh datagram bởi gói tin đó biết chắc sẽ đủ nhỏ để đi qua các Router, và gói tin đó cần đi nhanh hoặc sử dụng cho mục đích đặc biệt nào đó nên cần đặt DF = 0.Điều này có ý nghĩa các datagram phải tránh mạng có kích thước packet nhỏ trên đường đi,nói cách khác nó phải chọn được đường đi tối ưu. Các máy không yêu cầu nhận một gói tin dữ liệu lớn hơn 576 byte.

    MF, More fragments. 1 bit.



    - MF= phân mảnh cuối
    - MF = 1 có nhiều phân mảnh .
    Bit này có ý nghĩa : Nếu gói IP datagram bị phân mảnh thì mảnh này cho biết mảnh này có phải là mảnh cuối không . Tất cả mảnh (trừ mảnh cuối ) phải có bit này thiết lập bằng 1 .Điều này cần thiết để xác định tất cả các mảnh của datagram đã đến đích hay chưa
    7. Fragment Offset: có 13 bit. Báo bên nhận vị trí offset của các mảnh so với gói IP datagram gốc để có thể ghép lại thành IP datagram gốc.
    Ví Dụ : theo hình minh họa
    - 1 gói tin IP datagram chiều dài là 4000 byte , có 20 byte header + 3980 byte dữ liệu.
    - Mà trên đường truyền chỉ cho phép truyền tối đa là 1500 byte ,cho nên gói tin sẽ phần thành 3 mảnh nhỏ . Mỗi mảnh đều có header là 20 byte , còn phần dữ liệu lần lượng của 3 mảnh là 1480 byte , 1480 byte , 1020 byte . Nên offset của 3 mảnh lần lượt là 0 , 1480 , 2960 . Dựa vào offset để ráp lại thành mảnh lớn ở bên nhận . Cuối cùng là trường Flag bên nhận xác định được mảnh cuối cùng
    -ID ở mỗi mảnh nhỏ = x , nghĩa là cùng thuộc 1 mảnh lớn


    8.Time To Live (TTL) – Chỉ ra số bước nhảy (hop) mà một gói có thể đi qua.Con số này sẽ giảm đi một khi một gói tin đi qua một router. Khi bộ đếm đạt tới 0 gói này sẽ bị loại. Trường TTL rộng 8 bit do người gửi khởi tạo. Giá trị đề nghị khởi tạo được xác định trong Assigned Numbers RFC và hiện tại là 64. Các hệ thống cũ hơn thường khởi tạo là từ 15-32. Chúng ta có thể nhận thấy trong 1 số lệnh Ping, gói ICMP echo replies thường được gửi với TTL được thiết lập với giá trị lớn nhất của nó là 255. Đối với máy tính cài Windows, mặc định TTL = 124, máy Linux là 64, máy Sun Scolari là 256 ... Đây là giải pháp nhằm ngăn chặn tình trạng lặp vòng vô hạn của gói nào đó.

    9.Protocol-(8bit): Chỉ ra giao thức nào của tầng trên (tầng Transport) sẽ nhận phần data sau khi công đoạn xử lí IP diagram ở tầng Network hoàn tất hoặc chỉ ra giao thức nào của tầng trên gởi segment xuống cho tầng Network đóng gói thành IP Diagram , mỗi giao thức có 1 mã.

    Ví dụ:



    10.Header CheckSum – Giúp bảo dảm sự toàn vẹn của IP Header, có 16 bit.
    n Check sum ( kiểm tổng)
    q Dữ liệu truyền gồm 1 dãy các byte d1,d2,…dn

    q Check sum =

    q Thí dụ: xét dữ liệu gồm 5 ký tự A,B,C,D,E
    Check sum = 41 + 42 + 43 + 44 + 45 = 014F (Hex)
    n Tạo khung
    soh | 4142434445 | eot | 014F




    n Bên nhận kiểm lại checksum so với checksum bên gởi xem có bị lỗi không
    q Nhận xét: checksum không kiểm được tất cả các lỗi
    soh | 4142434544 | eot | 014F



    q Thí dụ bên nhận

    q Tính lại Checksum = 014F, khớp nhưng thực chất truyền sai

    11.Source Address – Chỉ ra địa chỉ của node truyền IP diagram, có 32 bit. Chú ý rằng mặc dù các thiết bị trung gian như Router có thể xử lý gói tin dữ liệu, nhưng chúng thường không đặt địa chỉ của chúng vào trường này, mà trường này luôn là địa chỉ của thiết bị ban đầu gửi gói tin dữ liệu.

    12.Destination Address – Chỉ ra địa chỉ IP của Node dự định được nhận IP diagram, có 32 bit. Một lần nữa, mặc dù các thiết bị như router có thể là điểm tới trung gian của các gói dữ liệu này, nhưng trường này luôn luôn là địa chỉ của điểm đến cuối cùng.
    Phạm Minh Tuấn

    Email : phamminhtuan@vnpro.org
    Yahoo : phamminhtuan_vnpro
    -----------------------------------------------------------------------------------------------
    Trung Tâm Tin Học VnPro
    149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
    Tel : (08) 35124257 (5 lines)
    Fax: (08) 35124314

    Home page: http://www.vnpro.vn
    Support Forum: http://www.vnpro.org
    - Chuyên đào tạo quản trị mạng và hạ tầng Internet
    - Phát hành sách chuyên môn
    - Tư vấn và tuyển dụng nhân sự IT
    - Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

    Network channel: http://www.dancisco.com
    Blog: http://www.vnpro.org/blog

  • #2
    Ip (tt)

    13.IP Option :



    Kích thước không cố định , chứa các thông tin tùy chọn như :
    - Time stamp : thời điểm đã đi qua router.
    - Security : cho phép router nhận gói dữ liệu không , nếu không thì gói sẽ bị hủy
    - Record router : lưu danh sách địa chỉ IP của router mà gói phải đi qua,
    -Source route : bắt buộc đi qua router nào đó. Lúc này sẽ không cần dùng bảng định tuyến ở mỗi Router nữa.

    C, Copy flag. 1 bit.
    Chỉ ra nếu tùy chọn này là để được sao chép vào tất cả các mảnh vỡ


    Class. 2 bits.


    Option. 5 bits.





    13.Padding – Các số 0 được bổ sung vào field này để đảm bảo IP Header luôn la bội số của 32 bit.

    14.Data – Chứa thông tin lớp trên, chiều dài thay đổi đến 64Kb. Là TCP hay UDP Segment của tầng Transport gửi xuống cho tần Network , tầng Network sẽ thêm header vào à Gói tin IP datagram .

    Minh họa bắt gói gói tin bằng WireShark:


    Phân tích:
    - Gói tin IP version 4.
    - Có chiều dài phần header là 20 byte.
    - Chiều dài gói tin Total length =40 byte.
    - Tham số định danh Identification = 0x420a (16906)
    - Trường Flags:
    + Bit DF =1: không phân mảnh gói tin ;
    +Bit MF =0: Đây là mảnh cuối cùng, không còn mảnh nào sau nó.
    - Vì gói tin không chia mảnh nên trường Fragment Offset =0
    - Trường Time-to-live TTL=128.
    - Trường Protocol=06 (TCP)
    - Trường Header Checksum : 0xfe6f [correct] (Gói tin không bị lỗi)
    - Source Address: 192.168.1.101
    - Destination Address : 64.233.183.95

    B. Các giao thức trong mạng IP

    Để mạng với giao thức IP hoạt động được tốt người ta cần một số giao thức bổ sung, các giao thức này đều không phải là bộ phận của giao thức IP và giao thức IP sẽ dùng đến chúng khi cần.

    +Giao thức ARP (Address Resolution Protocol): Ở đây cần lưu ý rằng các địa chỉ IP được dùng để định danh các host và mạng ở tầng mạng của mô hình OSI, và chúng không phải là các địa chỉ vật lý (hay địa chỉ MAC) của các trạm trên đó một mạng cục bộ (Ethernet, Token Ring.). Trên một mạng cục bộ hai trạm chỉ có thể liên lạc với nhau nếu chúng biết địa chỉ vật lý của nhau. Như vậy vấn đề đặt ra là phải tìm được ánh xạ giữa địa chỉ IP (32 bits) và địa chỉ vật lý của một trạm. Giao thức ARP đã được xây dựng để tìm địa chỉ vật lý từ địa chỉ IP khi cần thiết.

    +Giao thức RARP (Reverse Address Resolution Protocol): Là giao thức ngược với giao thức ARP. Giao thức RARP được dùng để tìm địa chỉ IP từ địa chỉ vật lý.

    +Giao thức ICMP (Internet Control Message Protocol): Giao thức này thực hiện truyền các thông báo điều khiển (báo cáo về các tình trạng các lỗi trên mạng.) giữa các gateway hoặc một nút của liên mạng. Tình trạng lỗi có thể là: một gói tin IP không thể tới đích của nó, hoặc một router không đủ bộ nhớ đệm để lưu và chuyển một gói tin IP, Một thông báo ICMP được tạo và chuyển cho IP. IP sẽ "bọc" (encapsulate) thông báo đó với một IP header và truyền đến cho router hoặc trạm đích.

    C. Các bước hoạt động của giao thức IP

    Khi giao thức IP được khởi động nó trở thành một thực thể tồn tại trong máy tính và bắt đầu thực hiện những chức năng của mình, lúc đó thực thể IP là cấu thành của tầng Network, nhận yêu cầu từ các tầng trên nó và gửi yêu cầu xuống các tầng dưới nó.

    @Đối với thực thể IP ở máy nguồn, khi nhận được một yêu cầu gửi từ tầng trên, nó thực hiện các bước sau đây:

    - Tạo một IP datagram dựa trên tham số nhận được.
    - Tính checksum và ghép vào header của gói tin.
    - Ra quyết định chọn đường: hoặc là trạm đích nằm trên cùng mạng hoặc một gateway sẽ được chọn cho chặng tiếp theo.
    - Chuyển gói tin xuống tầng dưới để truyền qua mạng.

    @Đối với router, khi nhận được một gói tin đi qua, nó thực hiện các động tác sau:

    1) Tính chesksum, nếu sai thì loại bỏ gói tin.
    2) Giảm giá trị tham số Time – to- Live. nếu thời gian đã hết thì loại bỏ gói tin.
    3) Ra quyết định chọn đường.
    4) Phân đoạn gói tin, nếu cần.
    5) Kiến tạo lại IP header, bao gồm giá trị mới của các vùng Time - to -Live, Fragmentation và Checksum.
    6) Chuyển datagram xuống tầng dưới để chuyển qua mạng.
    Cuối cùng khi một datagram nhận bởi một thực thể IP ở trạm đích, nó sẽ thực hiện bởi các công việc sau:
    1) Tính checksum. Nếu sai thì loại bỏ gói tin.
    2) Tập hợp các đoạn của gói tin (nếu có phân đoạn)
    3) Chuyển dữ liệu và các tham số điều khiển lên tầng trên.
    Last edited by phamminhtuan; 19-11-2010, 12:13 AM.
    Phạm Minh Tuấn

    Email : phamminhtuan@vnpro.org
    Yahoo : phamminhtuan_vnpro
    -----------------------------------------------------------------------------------------------
    Trung Tâm Tin Học VnPro
    149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
    Tel : (08) 35124257 (5 lines)
    Fax: (08) 35124314

    Home page: http://www.vnpro.vn
    Support Forum: http://www.vnpro.org
    - Chuyên đào tạo quản trị mạng và hạ tầng Internet
    - Phát hành sách chuyên môn
    - Tư vấn và tuyển dụng nhân sự IT
    - Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

    Network channel: http://www.dancisco.com
    Blog: http://www.vnpro.org/blog

    Comment


    • #3
      [Câu hỏi 1] - Tại sao lớp Internet lại thực hiện phân mãnh

      Câu hỏi 1 :

      Tại lớp Transport đã thực hiện phân mãnh ra thành các Segment rồi .. thế thì tại sao tại lớp Internet lại thực hiện phân mãnh nửa vậy?

      Thân

      Comment


      • #4
        Originally posted by Question View Post
        Câu hỏi 1 :

        Tại lớp Transport đã thực hiện phân mãnh ra thành các Segment rồi .. thế thì tại sao tại lớp Internet lại thực hiện phân mãnh nửa vậy?

        Thân
        Theo mình thì IP không biết là transport được thiết kế như thế nào (không phải tất cả giao thức transport đều phân mảnh, chắc bạn muốn đề cập đến TCP ?) nên IP tự nó phải support phân mảnh trước.
        Diệp Thanh Nguyên - Viettel Networks
        Certificates : Chứng chỉ A Vi tính 1995 (DOS, NC, Vietres, Foxpro, Quattro) :))

        Comment


        • #5
          Originally posted by nguyendiep View Post
          Theo mình thì IP không biết là transport được thiết kế như thế nào (không phải tất cả giao thức transport đều phân mảnh, chắc bạn muốn đề cập đến TCP ?) nên IP tự nó phải support phân mảnh trước.

          Theo mình biết tại lớp Transport sẽ thực hiện Multiplexing, nó sẽ chia dữ liệu ra thành các Segment để phù hợp với giá trị MTU
          UDP hoặc TCP đều thực hiện động tác này.

          Câu hỏi bạn Question đặt ra là : "Vì sao lớp Transport đã thực hiện chia ra các Segment như vậy rồi, phù hợp với giá trị MTU rồi. Thế thì tại lớp Internet thực hiện phân mãnh nữa để làm gì?"
          Last edited by lyquangthien; 18-06-2011, 10:38 AM.
          HỌC QUẢN TRỊ MẠNG - HOCQUANTRIMANG.COM

          LÝ QUANG THIỆN - MASAN'S NETWORK ADMIN

          Comment


          • #6
            Cám ơn anh,kiến thức rất bổ ích đối với newbie nhu em

            Comment


            • #7
              Theo mình thì IP không biết là transport được thiết kế như thế nào (không phải tất cả giao thức transport đều phân mảnh, chắc bạn muốn đề cập đến TCP ?) nên IP tự nó phải support phân mảnh trước.


              Comment


              • #8
                như bạn lyquangthien nói ở tầng transport thực hiện Multiplexing là do MTU. Còn ở tầng network phân mảnh có thể là do dữ liệu ở tầng này lớn hơn băng thông của đường truyền chăng ?? Hehehe mình newbie có gì mấy anh chỉ giáo.

                Comment


                • #9
                  Càng xem tài liệu càng thấy mâu thuẫn, các bạn giải thích dùm với. Các tính chất của tầng Internet trong mô hình TCP/IT

                  1.Operates at network layer of OSI
                  2.Connectionless protocol
                  3.Packets treated independently: [mình hiểu hok không mảnh thì mới independently. Các này đúng hok ??]
                  4.Hierarchical addressing
                  5.Best-effort delivery : vậy thì sequencing sẽ là No, mà trong cấu trúc header có trường Frag Offset đánh số thứ tự byte các mảnh trong gói tin để khi qua bên nhận ráp lại cho đúng.
                  6.No data-recovery features

                  Comment

                  Working...
                  X