260 likes | 288 Views
U. Mohammed Ibrahim. Wireless & Mobile Network. Course Contents. Introduction Wireless Links and Network Characteristics WiFi Wireless LANs Cellular Internet Access Mobility Management Mobile IP Mobile Routing Handoffs in GSM. Textbooks.
E N D
U. Mohammed Ibrahim Wireless & Mobile Network
Course Contents • Introduction • Wireless Links and Network Characteristics • WiFi Wireless LANs • Cellular Internet Access • Mobility Management • Mobile IP • Mobile Routing • Handoffs in GSM
Textbooks Computer Networking: A Top Down Approach Fifth edition. Jim Kurose, Keith RossAddison-Wesley, July 2010.
Course Evaluation 25 Marks (Labs + Assignments) 15 Marks (Midterm Exam) 60 Marks (Final Exam)
The application Layer represents the interface between the user and the network
The Application Layer (In the TCP/IP model) The application layer is an abstraction layer reserved for communications protocols and methods designed for process-to-process communications across an Internet Protocol (IP). Application layer protocols use the underlying transport layer protocols to establish process-to-process connections via ports.
E-mail Web Instant messaging Remote login P2P file sharing Multi-user network games Streaming stored video clips Internet telephone Real-time video conference Massive parallel computing Some network applications
Application architectures • Client-server • Peer-to-peer (P2P) • Hybrid of client-server and P2P 2: Application Layer
Creating a network app application transport network data link physical application transport network data link physical application transport network data link physical Write programs that • run on different end systems and • communicate over a network. • e.g., Web: Web server software communicates with browser software No software written for devices in network core • Network core devices do not function at app layer • This design allows for rapid app development
Processes communicating Client process: process that initiates communication Server process: process that waits to be contacted Process: program running within a host. • within same host, two processes communicate using inter-process communication (defined by OS). • processes in different hosts communicate by exchanging messages • Note: applications with P2P architectures have client processes & server processes
Sockets host or server host or server process process socket socket TCP with buffers, variables TCP with buffers, variables • process sends/receives messages to/from its socket • socket analogous to door • sending process shoves message out door • sending process relies on transport infrastructure on other side of door which brings message to socket at receiving process controlled by app developer Internet controlled by OS
Addressing processes • For a process to receive messages, it must have an identifier • A host has a unique32-bit IP address • Q: does the IP address of the host on which the process runs suffice for identifying the process? • Answer: No, many processes can be running on same host • Identifier includes both the IP address and port numbers associated with the process on the host. • Example port numbers: • HTTP server: 80 • Mail server: 25 • More on this later
Transport services and protocols application transport network data link physical application transport network data link physical logical end-end transport • Transport layer provides logical communication between app processes running on different hosts • transport protocols run in end systems • send side: breaks app messages into segments, passes to network layer • rcv side: reassembles segments into messages, passes to app layer • more than one transport protocol available to apps • Internet: TCP and UDP
Network layer 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 network data link physical network data link physical application transport network data link physical • transport segment from sending to receiving host • on sending side encapsulates segments into datagrams • on receiving side, delivers segments to transport layer • network layer protocols in everyhost, router • router examines header fields in all IP datagrams passing through it
Link layer terminology: • hosts and routers: nodes • communication channels that connect adjacent nodes along communication path: links • wired links • wireless links • LANs • layer-2 packet: frame,encapsulates datagram global ISP data-link layer has responsibility of transferring datagram from one node to physically adjacent node over a link
Synthesis: a day in the life of a web request • journey down protocol stack complete! • application, transport, network, link • putting-it-all-together: synthesis! • goal:identify, review, understand protocols (at all layers) involved in seemingly simple scenario: requesting www page • scenario:student attaches laptop to campus network, requests/receives www.google.com Link Layer
A day in the life: scenario browser DNS server Comcast network 68.80.0.0/13 school network 68.80.2.0/24 web page web server Google’s network 64.233.160.0/19 64.233.169.105 Link Layer
A day in the life… connecting to the Internet DHCP UDP IP Eth Phy DHCP UDP IP Eth Phy DHCP DHCP DHCP DHCP DHCP DHCP DHCP DHCP DHCP DHCP • connecting laptop needs to get its own IP address, addr of first-hop router, addr of DNS server: use DHCP • DHCP request encapsulated in UDP, encapsulated in IP, encapsulated in 802.3 Ethernet router (runs DHCP) • Ethernet frame broadcast (dest: FFFFFFFFFFFF) on LAN, received at router running DHCP server • Ethernet demuxed to IP demuxed, UDP demuxed to DHCP Link Layer
A day in the life… connecting to the Internet DHCP UDP IP Eth Phy DHCP UDP IP Eth Phy DHCP DHCP DHCP DHCP DHCP DHCP DHCP DHCP DHCP • DHCP server formulates DHCP ACKcontaining client’s IP address, IP address of first-hop router for client, name & IP address of DNS server • encapsulation at DHCP server, frame forwarded (switch learning) through LAN, demultiplexing at client router (runs DHCP) • DHCP client receives DHCP ACK reply Client now has IP address, knows name & addr of DNS server, IP address of its first-hop router Link Layer
A day in the life… ARP (before DNS, before HTTP) ARP ARP Eth Phy ARP query ARP reply DNS UDP IP Eth Phy DNS DNS DNS • before sending HTTPrequest, need IP address of www.google.com: DNS • DNS query created, encapsulated in UDP, encapsulated in IP, encapsulated in Eth. To send frame to router, need MAC address of router interface: ARP • ARP query broadcast, received by router, which replies with ARP reply giving MAC address of router interface router (runs DHCP) • client now knows MAC address of first hop router, so can now send frame containing DNS query Link Layer
A day in the life… using DNS DNS UDP IP Eth Phy DNS UDP IP Eth Phy DNS DNS DNS DNS DNS DNS DNS DNS DNS DNS server Comcast network 68.80.0.0/13 • IP datagram forwarded from campus network into comcast network, routed (tables created by RIP, OSPF, IS-IS and/or BGP routing protocols) to DNS server router (runs DHCP) • IP datagram containing DNS query forwarded via LAN switch from client to 1st hop router • demux’ed to DNS server • DNS server replies to client with IP address of www.google.com Link Layer
A day in the life…TCP connection carrying HTTP SYN SYN SYN SYN SYN SYN SYN HTTP TCP IP Eth Phy TCP IP Eth Phy HTTP SYNACK SYNACK SYNACK SYNACK SYNACK SYNACK SYNACK • to send HTTP request, client first opens TCP socket to web server router (runs DHCP) • TCP SYN segment (step 1 in 3-way handshake) inter-domain routed to web server • web server responds with TCP SYNACK (step 2 in 3-way handshake) web server 64.233.169.105 • TCP connection established! Link Layer
A day in the life… HTTP request/reply HTTP TCP IP Eth Phy HTTP TCP IP Eth Phy HTTP HTTP HTTP HTTP HTTP HTTP HTTP HTTP HTTP HTTP HTTP HTTP HTTP HTTP • web page finally (!!!) displayed • HTTP request sent into TCP socket • IP datagram containing HTTP request routed to www.google.com router (runs DHCP) • web server responds with HTTP reply (containing web page) web server • IP datagram containing HTTP reply routed back to client 64.233.169.105 Link Layer
Questions These slides are adapted from Computer Networking: A Top Down Approach Jim Kurose, Keith RossAddison-WesleyMarch 2012