美文网首页
TCP/IP协议栈

TCP/IP协议栈

作者: 学学学q | 来源:发表于2019-10-12 13:44 被阅读0次

概念:一系列网络协议的总和,是构成网络通信的核心骨架,定义了电子设备如何连入因特网,以及数据如何在他们之间进行传输

结构

分为应用层、传输层、网络层和链路层,每一层都呼叫他的下一层所提供的协议来完成自己的需求

发送者如何知道接收者的MAC地址?
发送者如何知道接收者和自己同属一个子网?
如果接收者和自己不在同一个子网,数据包如何发给对方?

为了解决这些问题,网络层引入了三个协议,分别为IP协议、ARP协议、路由协议。

传输层的主要工作是定义端口,标识应用程序身份,实现端口到端口的通信,TCP协议可以保证数据传输的可靠性。
TCP和UDP

UDP协议比较简单,实现容易,但它没有确认机制,数据包一旦发出,无法知道对方是否收到,因此可靠性比较差,为了解决这个问题,提高网络可靠性,TCP协议就诞生了,TCP即传输控制协议,是一种面向连接、可靠的、基于字节流的通信协议。简单来说TCP就是有确认机制的UDP协议,每发出一个确认包都要求确认,如果有一个数据包丢失,就收不到确认,发送方就必须重发这个数据包

三次握手

主机A:我想发数据给你,可以么?
主机B:可以,你什么时候发?
主机A:我马上发,你接着!

应用层的主要工作就是定义数据根式并按照对应的格式解读数据
总结:
  • 链路层:对0和1进行分组,定义数据帧,确认主机的物理地址,传输数据;
  • 网络层:定义IP地址,确认主机所在的网络位置,并通过IP进行MAC寻址,对外网数据包进行路由转发
  • 传输层:定义端口,确认主机上应用程序身份,并将数据包交给对应的应用程序;
  • 应用层:定义数据格式,并按照对应的格式解读数据

当你输入一个网址并按下回车键的时候,首先,应用层协议对该请求包做了格式定义;紧接着传输层协议加上了双方的端口号,确认了双方通信的应用程序;然后网络协议加上了双方的IP地址,确认了双方的网络位置;最后链路层协议加上了双方的MAC地址,确认了双方的物理位置,同时将数据进行分组,形成数据帧,采用广播方式,通过传输介质发送给对方主机。而对于不同网段,该数据包首先会转发给网关路由器,经过多次转发后,最终被发送到目标主机。目标机接收到数据包后,采用对应的协议,对帧数据进行组装,然后再通过一层一层的协议进行解析,最终被应用层的协议解析并交给服务器处理。

相关文章

  • TCP协议三次握手和四次挥手

    TCP协议 TCP/IP协议栈 由上图可知,TCP/IP协议栈包含很多的协议。 二. 什么是TCP TCP是TCP...

  • (二)TCP/IP四层模型

    1、基本介绍 TCP/IP协议,也称TCP/IP协议族或TCP/IP协议栈,其中: TCP:Transmissio...

  • TCP/IP 协议模型

    TCP/IP是Internet的基础,是一组协议的代名词,包括许多协议,组成了TCP/IP协议栈。TCP/IP 有...

  • 计算机网络:TCP

    相关定义 TCP/IP: 不是只有TCP + IP这两种协议,而是协议栈,是因特网的主要协议(有IP TCP UD...

  • 计算机网络(二)| IP协议

    IP概述 IP 协议简述 IP协议(Internet Protocol,互联网协议),是TCP/IP协议栈中最核心...

  • 网络编程08_IP路由寻址全过程解析

    TCP/IP协议簇是目前互联网应用最广的协议栈,谈到TCP/IP协议栈就不能不讲一讲IP路由的问题,因为在我们使用...

  • 【深入浅出Linux】IP路由器寻址全过程分析

    TCP/IP协议簇是目前互联网应用最广的协议栈,谈到TCP/IP协议栈就不能不讲一讲IP路由的问题,因为在我们使用...

  • IP协议总结

      IP协议(Internet Protocol,互联网协议),是TCP/IP协议栈中最核心的协议之一,通过IP地...

  • Http 协议详解

    简介 TCP/IP协议栈 Http 超文本协议 HTTP 超文本传输协议,是一个无状态、TCP/IP的应用层协议,...

  • 用户态协议栈的实现

    协议栈,指的是TCP/IP协议栈。linux系统中,协议栈是内核实现的。 Client发送数据给server,数据...

网友评论

      本文标题:TCP/IP协议栈

      本文链接:https://www.haomeiwen.com/subject/nqenectx.html