IPv4/IPv6 header and all fields explanation, Distance Vector Routing, Link state routing, transient and permanent problems. TCP Header, TCP connection establishment, Data transfer, Connection termination, Congestion Control, Slow start and congestion avoidance phase.


Content covered: 

IPv4 Header


IPv6 Addressing :
IPv6 is an Internet layer protocol for packet- switched internetworking & provides end-to-end datagram transmission across multiple IP networks.
An IPv6 address is 128 bits or 16 bytes long, the addresses are represented as eight groups of four hexadecimal digits separated by colons.
For example, FDEC:0000:0000:0000:BBFF:0000:FFFF:002E is an IPv6 address.
1. The leading zeros of a section can be omitted.
For example, 002E can be written as 2E and 0000 can be written as 0.
So the above address will look like, FDEC:0:0:0:BBFF:0:FFFF:2E
2. If there are consecutive sections consisting of zeros only, we can remove all the zeros and replace them with a double semicolon.(Note that this type of abbreviation is allowed only once per address)
So the above address will now look like, FDEC::BBFF:0:FFFF:2E

IPv6 Address Space:
The address space of IPv6 contains 2128 addresses.
In Ipv6, a destination address can belong to one of three categories:

1.Unicast Address:
A unicast address defines a single interface. The packet sent to a unicast address will be routed to the intended recipient.

2. Anycast Address:
An anycast address defines a group of computers that all share a single address. A packet with an anycast address is delivered to only one
member of the group, the most reachable one. The hardware and software generate only one copy of the request; the copy reaches only one of the servers. IPv6 does not designate a block for anycasting; the addresses are assigned from the unicast block.

3. Multicast Address
A multicast address also defines a group of computers. However, there is a difference between anycasting and multicasting. In anycasting, only one copy of the packet is sent to one of the members of the group; in multicasting each member of the group receives a copy. IPv6 considers broadcasting as a special case of multicasting.

The IPv6 Protocol :
The IPv6 packet is shown below:

Each packet is composed of a base header followed by the payload. The base header occupies 40 bytes, whereas payload can be up to 65,535 bytes of information.One thing to note here is that unlike IPv4, base header size is fixed in IPv6 and it is 40 bytes.
The IPv6 Base header is shown below:

The description of fields follows.
Version- The 4-bit version field defines the version number of the IP. For IPv6, the value is 6.
Traffic class- The 8-bit traffic class field is used to distinguish different payloads with different delivery requirements. It replaces the type-of-service field in IPv4.
Flow label- The flow label is a 20-bit field that is designed to provide special handling for a particular flow of data.
Payload length-The 2-byte payload length field defines the length of the IP datagram excluding the header. Note that IPv4 defines two fields related to the length: header length and total length. In IPv6, the length of the base header is fixed (40 bytes); only the length of the payload needs to be defined.
Next header-The next header is an 8-bit field defining the type of the first extension header (if present) or the type of the data that follows the base header in the datagram. This field is similar to the protocol field in IPv4.
Hop limit- The 8-bit hop limit field serves the same purpose as the TTL field in IPv4.
Source and destination addresses-The source address field is a 16-byte (1 28-bit) Internet address that identifies the original source of the datagram. The destination address field is a 16-byte (128-bit) Internet address that identifies the destination of the datagram.

IPv6 New Features:

1) Stateless Auto-configuration
New host can assign its own host address
- No need for DHCP

2) Supports new IP security protocols
- Authentication of source
- Encryption of payload

3) IPv4 and IPv6 packets both limit payload size to 64KB. However, with a Jumbo Payload option, the IPv6 may have up to 4GB payload.

4) IPv6 uses a classless view of addressing, with no concept of classful addressing. Hence, it is no longer required to consider the classful boundaries of addresses.

Suppose a router receives an IP packet containing 600 data bytes and has to forward the packet to a network with maximum transmission unit of 200 bytes. Assume that IP header is 20 bytes long. How many packets it going to divide and what are more fragments bits for divided packets?

  • Explanation

                                 1st packet  2nd packet 3rd packet 4th packet
    4 packets =             (176+20), (176+20), (176+20), (72+20)
    More Fragment bits =    1             1             1              0


More Comments
sumitverma's picture

We have MTU as 200 bytes. Total 600 bytes of data is to be sent. 
Now, we have to add 20 bytes of header with data packet.
So we can send 200-20 = 180 bytes of data in one packet.
But we need to keep it in the offset field where we use scaling factor of 8.
Hence, we need this to be a multiple of 8. As we can not add more bytes hence we will go with the largest value less than 180, which is divisible by 8.
That's why 176 is taken.

What is that more fragment bits?

sumitverma's picture

If there is any following fragment to the current fragment, then more fragment bit is set to 1.

What do you mean by offset field.why we are using it?

sumitverma's picture

We need offset field for reassembly at the destination.

Suppose a router receives an IP packet containing 600 data bytes and has to forward the packet to a network with maximum transmission unit of 200 bytes. Assume that IP header is 20 bytes long. What are fragment offset values for divided packets?

  • Explanation

                 0/8      (176)/8     (176+176)/8     (176+176+176)/8

    Offset =   0            22               44                     66


shiveshroy's picture

Can anyone explain this example, I am not getting the explanation..

nishantgupta's picture

Here the maximum transferable unit is 200.. now this 200 will also have 20 byte header.. so data that it can transfer is 180 at one time.. now we always take multiple of 8 for data bacause of scaling factor.  So we have to take 176.  And everytime we send this 176 data we also have to send 20 byte header.. sending this 176  3 times we have done with 528 of data.  Now data remaining is 580-528 which is 52... Again because of scaling factor we have to send 56.. now the total data is sent.. now fragment sent are like 0-175 176-351 352-527 528-579... So offset are o,176/8,352/8,528/8.. which are 0,22,44,66

fragment offset for a fragment indicates this::  "before this fragment , number of bytes transferred in multiples of factor 8 ". So for first fragment it is 0 as before first fragment no bytes were transferred. Similarly for second fragment it is 22 as 176 bytes were transferred before fragment 2 and 176 in terms of multiple of factor 8 is 22. 

Content covered: 

TCP: Transmission control protocol 


TCP -bytestream service

        connection oriented





multiple conversation

flow control


if protocol field is set ot 6 then it is using tcp.

Content covered: 

TCP connection walkthrough


In TCP, what is the minimum number of packets required to complete the data transfer between sender and reciever ?

plz hindi m smja dete to acha hota yr 


pritam sir ka shi smj aaraha tha :-(

TCP Header : 


TCP operates in two phases:
Slow Start Phase: the period when TCP has no information about the current network status.
In particular, TCP does not know how much traffic the network can handle safely (i.e., withput causing congestion).
Congestion Avoidance Phase: the period when TCP knows that it is transmitting at a data rate that is very close to a rate that can cause congestion.

  • This quiz contains 5 questions on the topic Network Layer.
  • You can attempt the quiz unlimited number of times.

Difficulty Level:  basic
No. of Questions:  5

Awesome, you did good to complete todays course.

To continue your preparation while we publish tomorrow’s topic,

please subscribe to our youtube channel.



visheshbajpa's picture

PSH flag is used to terminate the connection ?

shiveshroy's picture

I think In Quiz that was typing mistake, It should be FIN.

saurabh11's picture

i think it is used to pushing data in buffer.

hradeshpatel's picture

here PSH flag is basically used eventhough data is less than MSS than also it will push via (PSH=1). it follow inorder . ....but  it terminate the condition i am not sure plz explain???

shraddhagami's picture

When you send data, your TCP buffers it.As an when bytes are received then it can pushed to Application Layer(PSH=1).


prajwalbhat's picture

@Admin please correct question number 7 it should be either option A is correct since PSH flag is used to push the data that is reciever should not wait until the window to be filled which is not at all related to terminate the connection.

If option  A is intended to be FIN flag then it should be changed ...

suman08513's picture


Suppose that the TCP congestion window is set to 18 KB and a timeout occurs. _________ kB will the window be if the next four transmission bursts are all successful. Assume that the maximum segment size is 1 KB.


for the above question answer is 9KB. It is given 8KB in the above explanation.



I think the answer here should be 9KB. After the timeout has occurred, the threshhold=currentwindow size/2=9KB(9MSS), and the congestion window sets to 1MSS.

i.e the first tranmission starts from congestion window size 1MSS. After 1st successful burst the window size increases to 2MSS

After 2nd successful burst the window size increases to 4MSS

After 3rd successful burst the window size increases to 8MSS

After 4th successful burst the window size increases to 9MSS(since threshold is 9MSS)

Which of the following is false regarding flags in TCP header?

I think answer for this question is wrong.PSH flag is used to push bytes without waiting for Maximum data to be filled before transferring.

Enter your search keyword:

Search form


Here is a chance to join biggest community of technical Students,
Tutors with FREE learning resources and so much more.
It takes less then 60 seconds.