Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Network Layer Computer Networks Eko Prasetyo Teknik Informatika Universitas Muhammadiyah Gresik 2012 Network Layer Membawa paket dari pengirim ke penerima Disisi pengirim, membungkus paket kedalam datagram Disisi penerima, menerima paket dan menyampaikan ke transport layer Protokol network layer dalam setiap host, router Router memeriksa field header semua datagram IP yang melewatinya. application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical 2 Network Layer forwarding: memindahkan paket dari input router ke output router yang tepat routing algorithm local forwarding table header value output link routing: menentukan rute yang harus diambil paket dari sumber ke tujuan ◦ Routing algorithms 0100 0101 0111 1001 0111 3 2 2 1 1 3 2 value in arriving packet’s header 3 Isu desain Network Layer • • • • • Store-and-Forward Packet Switching Services Provided to the Transport Layer Implementation of Connectionless Service Implementation of Connection-Oriented Service Comparison of Virtual-Circuit and Datagram Subnets 4 Store-and-Forward Packet Switching Lingkungan protokol network layer 5 Virtual circuits: signaling protocols used to setup, maintain teardown VC used in ATM, frame-relay, X.25 not used in today’s Internet application 5. Data flow begins transport network 4. Call connected 1. Initiate call data link physical application transport 3. Accept call network 2. incoming call data link physical 6. Receive data Datagram networks no call setup at network layer routers: no state about end-to-end connections ◦ no network-level concept of “connection” packets forwarded using destination host address ◦ packets between same source-dest pair may take different paths application transport network data link physical 1. Send data application transport network 2. Receive data data link physical Internet Network layer Host, router network layer functions: Transport layer: TCP, UDP Network layer IP protocol •addressing conventions •datagram format •packet handling conventions Routing protocols •path selection •RIP, OSPF, BGP forwarding table ICMP protocol •error reporting •router “signaling” Link layer physical layer IP datagram format Nomor versi protokol IP 32 bits header length (bytes) “type” of data Jumlah maksimal hop yang tersisa (menurun pada setiap router) upper layer protocol to deliver payload to how much overhead with TCP? r 20 bytes of TCP r 20 bytes of IP r = 40 bytes + app layer overhead type of ver head. len service 16-bit identifier upper time to layer live length fragment flgs offset Internet checksum total panjang datagram (bytes) for fragmentation/ reassembly 32 bit source IP address 32 bit destination IP address Options (if any) data (variable length, typically a TCP or UDP segment) E.g. timestamp, record route taken, specify list of routers to visit. IP Fragmentation & Reassembly Network links mempunyai MTU (max.transfer unit) – kapasitas datagram maksimal frame ◦ Berbeda tipe link, beda MTUs Data IP besar dipecah (“fragmented”) dalam jaringan jaringan ◦ Satu datagram menjadi beberapa datagram ◦ “reassembled” hanya ditujuan akhir ◦ Bit IP header digunakan untuk mengidentifikasi urutan fragmen yang berhubungan fragmentation: in: one large datagram out: 3 smaller datagrams reassembly IP Fragmentation and Reassembly Example r 4000 byte datagram (3980 byte data, 20 byte header IP) r MTU = 1500 bytes 1480 bytes in data field, 20 bytes in header IP offset = 0+1480 length ID =4000 =x fragflag =0 offset =0 Satu datagram besar menjadi beberapa datagram yang lebih kecil length ID =1500 =x fragflag =1 offset =0 length ID =1500 =x fragflag =1 offset =1480 length ID =1040 =x fragflag =0 offset =2960 Comparison of Virtual-Circuit and Datagram Subnets 5-4 Silahkan Presentasi 826 – 792 – 2131 13 ICMP: Internet Control Message Protocol Digunakan oleh host dan router untuk menginformasikan komunikasi pada level network ◦ Pelaporan error: unreachable host, network, port, protocol ◦ echo request/reply (digunakan oleh ping) network-layer “above” IP: ◦ Pesan ICMP dibawa dalam IP datagrams ICMP message: type, code ditambah 8 bytes pertama IP datagram yang menyebabkan error Type 0 3 3 3 3 3 3 4 8 9 10 11 12 Code description 0 echo reply (ping) 0 dest. network unreachable 1 dest host unreachable 2 dest protocol unreachable 3 dest port unreachable 6 dest network unknown 7 dest host unknown 0 source quench (congestion control - not used) 0 echo request (ping) 0 route advertisement 0 router discovery 0 TTL expired 0 bad IP header Traceroute dan ICMP Sumber mengirim serangkaian segment UDP pada tujuan ◦ Pertama mempunyai TTL=1 ◦ Kedua mempunyai TTL=2, dsb. ◦ Tidak seperti nomor port Ketika datagram tiba di router ke-n When nth datagram arrives to nth router: ◦ Router membuang datagram ◦ Dan mengirim pesan ICMP ke sumber (type 11, code 0) ◦ Pesan termasuk nama router dan alamat IP Ketika pesan ICMP tiba, sumber menghitung RTT Traceroute melakukan hal ini tiga kali Stopping criterion Segmen UDP kadang tiba di host tujuan Tujuan mengembalikan paket ICMP “host unreachable” (type 3, code 3) Ketika sumber mendapati ICMP ini, berhenti IP addresses: how to get one? Q: How does host get IP address? Hard-coded by system admin in a file ◦ Windows: control-panel->network>configuration->tcp/ip->properties ◦ UNIX: /etc/rc.config DHCP: Dynamic Host Configuration Protocol: dynamically get address from as server ◦ “plug-and-play” IP addresses: how to get one? Q: Bagaimana jaringan mendapatkan bagian subnet alamat IP ? A:Ambil bagian alokasi dari provider ISP yang mengatur alokasi alamat ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Organization 0 Organization 1 Organization 2 ... 11001000 00010111 00010000 00000000 200.23.16.0/23 11001000 00010111 00010010 00000000 200.23.18.0/23 11001000 00010111 00010100 00000000 200.23.20.0/23 ….. …. …. Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23 IP addressing: the last word... Q: Bagimana ISP mendapatkan block alamat ? A: ICANN: Internet Corporation for Assigned Names and Numbers ◦ Mengalokasikan lamat ◦ Mengelola DNS ◦ Memberikan mana domain, menyelesaikan perselisihan domain Silahkan Presentasi 2663 – 2460 – 4213 19 NAT: Network Address Translation rest of Internet local network (e.g., home network) 10.0.0/24 10.0.0.4 10.0.0.1 10.0.0.2 138.76.29.7 10.0.0.3 Semua datagrams meninggalkan jaringan Datagram dengan sumber atau tujuan lokal mempunyai alamat IP NAT tunggal Dalam jaringan ini mempunyai alamat 10.0.0/24 untuk yang sama : 138.76.29.7, sumber, tujuan (biasanya) Yang berbeda nomor port sumber NAT: Network Address Translation Motivation: jaringan lokal hanya menggunakan sati alamat IP yang leboh cepat untuk berhubungan dengan dunia luar (internet) : ◦ Tidak membutuhkan alokasi range alamat dari ISP-hanya satu alamat IP digunakan untuk banyak perangkat ◦ Dapat mengubah alamat perangkat dalam jaringan lokasl tanpa memberitahu dunia luar ◦ Bisa mengganti ISP tanpa mengubah alamat perangkat dalam jaringan lokal ◦ Perangkat dalam jaringan lokal tidak dialamati secara eksplisit, ditampakkan oleh dunia luar (security plus) NAT: Network Address Translation Implementation: NAT router must: ◦ outgoing datagrams: mengganti (source IP address, port #) setiap datagram yang keluar (NAT IP address, new port #) . . . Server/klien remote (yang dituju) akan menjawab menggunakan (NAT IP address, new port #) sebagai alamat tujuan ◦ remember (in NAT translation table) setiap pasangan translasi (source IP address, port #) ke (NAT IP address, new port #) ◦ incoming datagrams: mengganti (NAT IP address, new port #) dalam field tujuan setiap datagram yang masuk dengan (source IP address, port #) terkait yang tersimpan dalam tabel NAT NAT: Network Address Translation NAT translation table WAN side addr LAN side addr 2: NAT router changes datagram source addr from 10.0.0.1, 3345 to 138.76.29.7, 5001, updates table 1: host 10.0.0.1 sends datagram to 128.119.40, 80 138.76.29.7, 5001 10.0.0.1, 3345 …… …… S: 10.0.0.1, 3345 D: 128.119.40.186, 80 10.0.0.1 1 2 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 138.76.29.7 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3: Reply arrives dest. address: 138.76.29.7, 5001 3 10.0.0.4 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 10.0.0.2 4 10.0.0.3 4: NAT router changes datagram dest addr from 138.76.29.7, 5001 to 10.0.0.1, 3345 NAT: Network Address Translation Jumlah field port : ◦ 60,000 koneksi simultan dengan sisi alamat LAN tunggal ! NAT is controversial: ◦ Router seharusnya hanya memproses sampai dengan layer 3 ◦ Melanggar argumen end-to-end NAT memungkinkan untuk diambil sebagai account oleh desainer aplikasi, misalnya aplikasi P2P ◦ Pemendekan alamat harus diselesaikan dengan IPv6 IPv6 Initial motivation: Space alamat 32-bit akan habis teralokasikan. Alasan tambahan: ◦ Format header membantu mempercepat processing/forwarding ◦ Header berubah untuk menfasilitasi QoS IPv6 datagram format: ◦ Panjang header tetap 40 byte ◦ Tidak diperbolehkan fragmentasi IPv6 Header (Cont) Priority: identifikasi prioritas diantara datagram dalam flow Flow Label: identifikasi datagrams dalam “flow.” yang sama (concept “flow” tidak terdefinisi dengan baik). Next header: identifikasi protokol upper layer untuk data Perubahan lain dari IPv4 Checksum: Dihilangkan untuk mengurangi waktu pemrosesan pada tiap hop Options: diperbolehkan, tapi diluar header, diindikasikan oleh field “Next Header” ICMPv6: versi baru ICMP ◦ Ada tipe pesan tambahan,mis “Packet Too Big” ◦ Fungsi manajemen multicast group Transition From IPv4 To IPv6 Tidak semua router dapat diupgrade simultan ◦ Tidak ada “flag days” ◦ Bagaimana akan mengoperasikan dalam jaringan yang menggunakan router IPv4 dan IPv6 saja Tunneling: IPv6 membawa payload seperti pada IPv4 datagram diantara router IPv4 Tunneling IPv4 ke IPv6 Tunneling dilakukan untuk migrasi secara bertahap dari ipv4 ke ipv6 Teknis tunneling otomatis di Linux bisa dibaca Mekanisme : di blog myteks.wordpress.com ◦ Dual-stack. Cukup menambahkan ipv6 pada setiap komputer tanpa menghapus ipv4 nya. Di beberapa operating system yang baru, mereka rata rata telah menerapkan metode dual stack ini. Host ◦ Tunnel ipv6 didalam ipv4. Teknik ini menggunakan ipv4 sebagai datalink layer dan ipv6 akan dienkapsulasi kedalam jaringan ipv4 Host dan Router ◦ Transalasi dari network address translation ke protocol transfer. Atau dengan menggunakan teknik tcp relay dari ipv4 ke ipv4. Dimana aplikasi yang menggunakan ipv6 di relay di domain name server yang kemudian diteruskan ke dns yang menggunakan ipv4. Router dan server DNS Silahkan Presentasi 2453 – 2328 – 4271 30 Routing Algorithm Routing algorithm: menentukan rute dan mengelola tabel routing Properti yang dibutuhkan bagi algoritma routing: ◦ 1. correctness ◦ 2. simplicity ◦ 3. robustness with respect to failures and changing conditions ◦ 4. stability of the routing decisions ◦ 5. fairness of the resource allocation ◦ 6. optimality of the packet travel times Algoritma: dijkstra, distance vector, hierarchical 31 Sumber informasi tabel Routing Manual ◦ Tabel dibuat oleh admin ◦ Berguna dalam jaringan kecil ◦ Berguna jika rute tidak pernah berubah Automatic routing ◦ Software membuat/mengganti tabel ◦ Diperlukan dalam jaringan besar ◦ Ada perubahan rute ketika kegagalan terjadi 32 Distance Vector Routing Setiap router mengelola tabelnya dengan menerima jarak terbaik dari setiap router tetangganya ke semua node yang tergabung dalam jaringan. Update dilakukan dengan pertukaran informasi dengan tetangga. Disebut juga distributed Bellman-Ford routing dan Ford-Fulkerson algorithm. Masih digunakan dalam jaringan internet dalam aturan RIP. (a) A subnet. (b) Input from A, I, H, K, and the new routing table for J. Hierarchical Routing Hierarchical addressing: route aggregation Hierarchical addressing allows efficient advertisement of routing information: “Send me anything with addresses beginning 200.23.0.0/18” Organization 0 200.23.17.0/23 Organization 1 200.23.18.0/23 Organization 2 200.23.20.0/23 Organization 7 . . . . . . “Send me anything with addresses beginning Fly-By-Night-ISP 200.23.16.0/20” Toll-ISP Internet 200.23.30.0/23 Organization 8 200.23.33.0/23 Organization 9 200.23.62.0/23 ISPs-R-Us “Send me anything with addresses beginning 200.23.32.0/19” “Send me anything with addresses beginning 200.23.0.0/18” Hierarchical addressing: more specific routes ISPs-R-Us has a more specific route to Organization 1 Organization 0 200.23.16.0/23 Organization 2 200.23.20.0/23 . . . Organization 7 . . . “Send me anything with addresses beginning Fly-By-Night-ISP 200.23.16.0/20” “Send me anything with addresses beginning 200.23.0.0/18 or 199.31.0.0/18” Internet 200.23.30.0/23 Organization 1 199.31.1.0/18 Organization 8 200.23.33.0/23 Organization 9 200.23.62.0/23 ISPs-R-Us “Send me anything with addresses Beginning 200.23.32.0/19 or 199.31.0.0/18 ” “Send me anything with addresses beginning 200.23.0.0/18 or 199.31.0.0/18” ANY QUESTIONS ? 37