Title: CSE4471: Computer Network Review
1CSE4471 Computer Network Review
- Network Layers
- TCP/UDP
- IP
- Ethernet
2Internet Layers
- application supporting network applications
- ftp, smtp, http
- transport host-host data transfer
- tcp, udp
- network routing of datagrams from source to
destination - ip, routing protocols
- link data transfer between neighboring network
elements - ppp, ethernet
- physical bits on the wire
3OSI Network Layers
4Layering logical communication
- Each layer
- distributed
- entities implement layer functions at each node
- entities perform actions, exchange messages with
peers
5Layering physical communication
6Protocol layering and data
- Each layer takes data from above
- adds header information to create new data unit
- passes new data unit to layer below
source
destination
application transport network link physical
message
segment
datagram
frame
7Internet structure network of networks
- roughly hierarchical
- national/international backbone providers (NBPs)
- e.g. BBN/GTE, Sprint, ATT, IBM, UUNet
- interconnect (peer) with each other privately, or
at public Network Access Point (NAPs) - regional ISPs
- connect into NBPs
- local ISP, company
- connect into regional ISPs
regional ISP
NBP B
NBP A
regional ISP
8National Backbone Provider
e.g. Sprint US backbone network
9TCP
- Transport Control Protocol
- Flow control and Responds to congestion
- Reliable In-order delivery
- Nice Protocol
10TCP segment structure
URG urgent data (generally not used)
counting by bytes of data (not segments!)
ACK ACK valid
PSH push data now (generally not used)
bytes rcvr willing to accept
RST, SYN, FIN connection estab (setup,
teardown commands)
Internet checksum (as in UDP)
11Reliable Delivery
- Sender, Receiver keep track of bytes sent and
bytes received. - Acks have an indication of next byte expected.
- Three duplicate acks considered a packet loss -
sender retransmits
12TCP seq. s and ACKs
- Seq. s
- byte stream number of first byte in segments
data - ACKs
- seq of next byte expected from other side
- cumulative ACK
- Q how receiver handles out-of-order segments
- A TCP spec doesnt say, - up to implementer
Host B
Host A
User types C
Seq42, ACK79, data C
host ACKs receipt of C, echoes back C
Seq79, ACK43, data C
host ACKs receipt of echoed C
Seq43, ACK80
simple telnet scenario
13TCP Flow Control
- Window based
- Sender cannot send more data than a window
without acknowledgements. - Window is a minimum of receivers buffer and
congestion window. - After a window of data is transmitted, in steady
state, acks control sending rate.
14Flow Control
15UDP
- No reliability, flow control, congestion control.
- Sends data in a burst.
- Provides multiplexing and demultiplexing of
sources. - Most multimedia applications using UDP
16UDP User Datagram Protocol RFC 768
- no frills, bare bones Internet transport
protocol - best effort service, UDP segments may be
- lost
- delivered out of order to app
- connectionless
- no handshaking between UDP sender, receiver
- each UDP segment handled independently of others
- Why is there a UDP?
- no connection establishment (which can add delay)
- simple no connection state at sender, receiver
- small segment header
- no congestion control UDP can blast away as fast
as desired
17UDP segment structure
- often used for streaming multimedia apps
- loss tolerant
- rate sensitive
- other UDP uses (why?)
- DNS
- SNMP
- reliable transfer over UDP add reliability at
application layer - application-specific error recover!
32 bits
source port
dest port
Length, in bytes of UDP segment, including header
checksum
length
Application data (message)
UDP segment format
18IP datagram format
IP protocol version number
32 bits
total datagram length (bytes)
header length (bytes)
type of service
head. len
ver
length
for fragmentation/ reassembly
fragment offset
type of data
flgs
16-bit identifier
max number remaining hops (decremented at each
router)
upper layer
time to live
Internet checksum
32 bit source IP address
32 bit destination IP address
upper layer protocol to deliver payload to
E.g. timestamp, record route taken, pecify list
of routers to visit.
Options (if any)
data (variable length, typically a TCP or UDP
segment)
19ICMP Internet Control Message Protocol
- used by hosts, routers, gateways to communication
network-level information - error reporting unreachable host, network, port,
protocol - echo request/reply (used by ping)
- network-layer above IP
- ICMP msgs carried in IP datagrams
- ICMP message type, code plus first 8 bytes of IP
datagram causing error
Type Code description 0 0 echo
reply (ping) 3 0 dest. network
unreachable 3 1 dest host
unreachable 3 2 dest protocol
unreachable 3 3 dest port
unreachable 3 6 dest network
unknown 3 7 dest host unknown 4
0 source quench (congestion
control - not used) 8 0
echo request (ping) 9 0 route
advertisement 10 0 router
discovery 11 0 TTL expired 12 0
bad IP header
20Routing in the Internet
- The Global Internet consists of Autonomous
Systems (AS) interconnected with each other - Stub AS small corporation
- Multihomed AS large corporation (no transit)
- Transit AS provider
- Two-level routing
- Intra-AS administrator is responsible for
choice RIP, OSPF - Inter-AS unique standard BGP
21Link Layer
22Link Layer setting the context
- two physically connected devices
- host-router, router-router, host-host
- unit of data frame
network link physical
data link protocol
M
frame
phys. link
adapter card
23Link Layer Services
- Framing, link access
- encapsulate datagram into frame, adding header,
trailer - implement channel access if shared medium,
- physical addresses used in frame headers to
identify source, dest - different from IP address!
- Reliable delivery between two physically
connected devices - we learned how to do this already (chapter 3)!
- seldom used on low bit error link (fiber, some
twisted pair) - wireless links high error rates
- Q why both link-level and end-end reliability?
24Link Layer Services (more)
- Flow Control
- pacing between sender and receivers
- Error Detection
- errors caused by signal attenuation, noise.
- receiver detects presence of errors
- signals sender for retransmission or drops frame
- Error Correction
- receiver identifies and corrects bit error(s)
without resorting to retransmission
25Multiple Access Links and Protocols
- Three types of links
- point-to-point (single wire, e.g. PPP, SLIP)
- broadcast (shared wire or medium e.g, Ethernet,
Wavelan, etc.) - switched (e.g., switched Ethernet, ATM etc)
26Multiple Access protocols
- single shared communication channel
- two or more simultaneous transmissions by nodes
interference - only one node can send successfully at a time
- multiple access protocol
- distributed algorithm that determines how
stations share channel, i.e., determine when
station can transmit - communication about channel sharing must use
channel itself! - what to look for in multiple access protocols
- synchronous or asynchronous
- information needed about other stations
- robustness (e.g., to channel errors)
- performance
27Ethernet uses CSMA/CD
- A sense channel, if idle
- then
- transmit and monitor the channel
- If detect another transmission
- then
- abort and send jam signal
- update collisions
- delay as required by exponential backoff
algorithm - goto A
-
- else done with the frame set collisions to
zero -
- else wait until ongoing transmission is over and
goto A
28A Summary on Network Layers and Their
Vulnerabilities
Network Layer Basic Functions Representative Protocols Security Vulnerability Examples
Application Providing services such as WWW to end-users HTTP, SMTP, FTP JavaScript-based malware, Email spams
Transport End-to-end message transmission independent of the underlying network TCP, UDP TCP SYN attack, UDP flooding attack
Network Routing IP, ICMP, RIP, OSPF, BGP IP spoofing, Black hole attack to RIP
Data Link Media access control Ethernet, Wi-Fi Eavesdropping attack
Physical Transmitting raw bit stream Physical attack such as cut to cable
29Acknowledgement
- Part of the slides are from Kurose and Rosss
book Computer Networking A Top-Down Approach.