Date post: | 22-Dec-2015 |
Category: |
Documents |
Upload: | elijah-foley |
View: | 218 times |
Download: | 1 times |
TCP/IP
Christopher Zacky
lolwut
Decimal Numbers
Binary Numbers
IP Addresses
IPv4 and IPv6 IPv4 is probably all you've ever seen IPv4 is a 32-bit address 192.168.1.2 11000000.10101000.00000001.00000010 4,294,967,296 different IPs for IPv4
IPv6
128 bit address 2^128 =
340,282,367,000,000,000,000,000,000,000,000,000,000 different Ips
IPv6 address looks like this: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
A day in the life of a packet
TCP
Transmission Control Protocol Guarantees reliable transmission of data Is a process-to-process communication service URG, ACK, PSH, RST, SYN, FIN How a connection is established: Computer1 sends a SYN Computer2 sends ACK and SYN Computer1 sends ACK
Establishing a Connection (TCP 3-way handshake)
An Established Connection
TCP Header Breakdown
16 bits – Source Port 16 bits – Destination port 32 bits – Sequence Number 32 bits – Acknowledgment Number 4 bits – Data Offset 6 bits – Reserved 6 bits – Control Bits (URG, ACK, PSH, RST,
SYN, FIN)
TCP Header Continued
16 bits – Window 16 bits – Checksum 16 bits – Urgent Pointer Then options
TCB
Transmission Control Block Is created when the connection is created Is deleted when the connection is closed Contains the window of packets that are
expected Packets not in the window are discarded and a
RST packet may be sent
ISN and Duplicate Packets
How do I know if I am receiving duplicate packets from a previous connection?
ISN is a 32-bit numbers that increments about every 4 microseconds.
ISN cycles every 4.55 hours MSL is 2 minutes A pair of sockets makes a TCP connection
unique
What is TIME_WAIT???
Dat MSL (Maximum Segment Lifetime) I need to ACK your FIN man
IP
Internet Protocol Does not guarantee reliable transmission of
data Doesn't have sequencing Designed to transmit a packet from a source to
a destination over an interconnected system of networks
Is called on by host-to-host protocols (like TCP)
IP Header
4 bits – Version 4 bits – IHL (Internet Header Length) 8 bits – Type of Service 16 bits – Total Length 16 bits – Identification 3 bits – Fragment Flags 13 bits – Fragment Offset 8 bits – Time to Live
IP Header Continued
8 bits – Protocol 16 bits – Header Checksum 32 bits – Source Address 32 bits – Destination Address Then options
Look Familiar?