转载请注明:https://www.cnblogs.com/igoslly/p/9167916.html

  

TCP/IP制定

   制定:IETF

  记录:RFC - Request for comment

  协议规范内容,协议实现和运用信息,实验方面信息

  RFC文档通过编号组织每个协议的标准化请求

  STD记载哪个编号记载哪个协议

TCP/IP与OSI参考模型

  

数据包首部

  

发送数据包

  

应用程序处理

  编码处理,建立TCP连接

TCP模块处理

  根据会话层的指示,在应用层发来的数据附加TCP首部。

 IP模块处理

  添加IP首部,参考路由控制表决定接受此IP包的路由或主机,发送给连接这些路由器或主机网络接口的驱动程序,真正发送数据。

 网络接口(以太网驱动)处理

  附加以太网首部,通过物理层传输给接收端。发送处理中的FCS由硬件计算,添加到包最后,判断数据包是否损坏。

每个包至少会包含两个信息:发送端和接收端地址、上一层协议类型

  TCP首部:源端口号、目标端口号、序号校验和。

  IP首部:接收端IP地址、发送端IP地址。

  以太网首部:接收端MAC地址、发送端MAC地址、标志以太网类型。

接收数据包

  1. 首先从以太网的包首部判断是否是自己的MAC地址,传给相关子程序(IP/ARP)
  2. 对于有路由控制器,接收端地址往往不同,需要借助路由控制表,调查应该送达的主机或路由器再转发数据。
  3. TCP模块时计算一下检验和检查数据,检查是否按序接收数据、端口号,确定具体应用程序
  4. 接收端发送“确认回执”给发送端,若发送端未接受则会一直反复发送
  5. 数据完整接收后,发送给端口号识别应用程序

网络接口层(数据链路层)

  利用以太网中的数据链路层进行通信,属于接口层。当做让NIC起作用的驱动程序。

 互联网层(网络层)

  互联网层使用IP协议,相当于OSI模型中的网络层,基于IP地址转发分包数据

  IP

  IP是跨越网络传送数据包,使整个互联网都能收到的数据的协议。

  属于非可靠性传输协议,分组交换,不重发

  ICMP

  IP数据包在发送途中一旦发生异常无法到达时,需要发回一个发生异常的通知。

  可以诊断网络的健康状况。

  ARP

  从分组数据包的IP地址中解析出MAC地址的协议

  ARPA

  从分组数据包的MAC地址中解析IP地址的协议

传输层

  让应用程序之间实现通信,分清哪个程序正在通信,是使用识别端口号

  TCP

  面向有连接,保证两段通信主机之间的通信

  可以处理丢包、乱序、利用带宽、缓解网络拥堵

  三次握手,四次握手,造成网络流量的浪费

  UDP

  面向无连接,不重发

应用层

  WWW

  浏览器与服务端之间通信所用的协议是HTTP,传输格式是HTML

  WWW中HTTP属于OSI应用层协议,HTML表示层协议

  电子邮件

  发送电子邮件使用SMTP - simple mail transfer protocal

  接收电子邮件使用POP3

  电子邮件格式由MIME协议扩展后,发送声音、图像格式。

  文件传输FTP-file transfer protocol

  互连计算机之间可以相互发送、接收文件

  进行文件传输时建立两个TCP连接,分别是发出传输请求和实际传输连接时

  远程登录TELNET

  登录到远程计算机上,

网络管理 SNMP-simple network management protocol

  可以对连网的设备进行远程修改配置,检查是否正常运行

  通过SNMP管理器管理SNMP代理(服务器,PC机,WS,路由器,交换机等)

  SNMP代理端保存着网络接口,通信数据量,异常数据量等信息,通过MIB - management information base访问

  对于大网络,SNMP可以让管理员及时检查网络拥堵情况

图解TCP/IP笔记(1)——TCP/IP协议群的更多相关文章

  1. TCP/IP笔记(二)TCP/IP简介

    上回,主要介绍了下协议和OSI参考模型,并简单了解下网络构成要素,这回该说说TCP/IP了 互联网与TCP/IP的关系   互联网进行通信时,需要相应的网络协议,TCP/IP原本就是为使用互联网而开发 ...

  2. TCP/IP笔记(七)TCP详解

    TCP的特点及其目的 为了通过数据包实现可靠性传输,需要考虑很多事情,例如数据的破坏.丢包.重复记忆分片顺序混乱等问题.如不能解决这些问题,也就无从谈起可靠传输. TCP通过检验和.序列号.确认应答. ...

  3. TCP/IP 笔记 1.3 IP:网际协议

    ---恢复内容开始--- I P是T C P / I P协议族中最为核心的协议.所有的 T C P.U D P.I C M P及I G M P数据都以I P数据报格式传输. 不可靠( u n r e ...

  4. TCP/IP笔记(六)TCP与UDP

    终于来到了传输层,这个面试问的最多了,内容比较多,要分两篇来总结,这是第一篇

  5. 图解HTTP学习笔记——简单的HTTP协议

    简单的HTTP协议 前言 最近在学习Web开发的相关知识,发现<图解HTTP>这本书通俗易懂.所以花时间学习这本书,并记录下学习笔记. 如上图,我们每天都在浏览网页,一般我们都是在浏览器地 ...

  6. TCP/IP协议原理与应用笔记17:IP编址(重点)

    1. IP地址(通用标识符) 对于同一个网络设备(主机或路由器)的不同网络连接,需要不同的IP地址进行标识 2. 主机标识符 主要有下面三种方式的主机标识方式: (1)Name:是什么,可读性强(了解 ...

  7. 《TCP/IP详解 卷1:协议》读书笔记

    第一章 概述 协议栈 应用层 HTTP,FTP   运输层 TCP, UDP 段(Segment) 网络层 IP, ICMP, IGMP 数据报(Datagram) 链路层   帧(Frame) 物理 ...

  8. 『TCP/IP详解——卷一:协议』读书笔记——17

    2013-08-27 15:37:42 6.5 ICMP端口不可达差错 端口不可达报文是ICMP差错报文的一种,它是ICMP不可达报文中的一种,以此来看一看ICMP差错报文中所附加的信息.使用UDP来 ...

  9. 『TCP/IP详解——卷一:协议』读书笔记——15

    2013-08-25 13:39:40 第6章 ICMP:Internet控制报文协议 6.1 引言 ICMP经常被认为是IP层的一个组成部分.它传递差错报文以及其他需要注意的信息.ICMP报文同通常 ...

随机推荐

  1. print pdf bug & DOCTYPE

    print pdf bug & DOCTYPE OK with <!DOCTYPE html> <!DOCTYPE html> <html lang=" ...

  2. IDEA中用jetty启动项目时,url 404

    问题背景:IDE:IDEA 语言:java 服务器:jetty 框架:nutz 问题描述: 按照nutz构建j2ee项目,配置projectStructor中的依赖,jre,jetty之后,部署,并通 ...

  3. 0213Zabbix通过percona监控MySQL

    因为Zabbix自带的MySQL监控没有提供可以直接使用的Key,所以一般不采用,业界的同学们都使用Percona Monitoring Plugins 监控 MySQL的方式 Percona介绍 P ...

  4. 移动端,input输入获得焦点被键盘遮住简单解决方案

    (function (window,document) { document.querySelector('input[type="text"]').addEventListene ...

  5. Docker创建PHP镜像

    Step: 1. 创建Dockerfile FROM php:7.0-apache RUN chmod -R 755 /var/www 2. 创建镜像 docker build -t docker_n ...

  6. MongoDB:最简单的增删改查(Oops,可能太简单了)

    热身运动: 1. 启动MongoDB shell => mongo.exe or ./mongo(先确保有一个mongod的实例): 2. 切换到一个用于练手的namespace => u ...

  7. 大话USB驱动之总线驱动程序

    转载注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/25040009 总线驱动是不用改的.内核都帮我们做好了.为了了解整个USB驱动的体 ...

  8. 用JavaScript截图

    用JavaScript截图   使用JavaScript截图,这里我要推荐两款开源组件:一个是Canvas2Image,它可以将Canvas绘图编程PNG/JPEG/BMP的图像:但是光有它还不够,我 ...

  9. 一次c3p0连接池连接异常错误的排查

    近期写了一个数据库採集程序,大概过程是将SQLSERVER数据库的数据定时採集到Oracle数据库. 1小时出一次数据,每次数据量在2W左右.环境採用Sping3+hibernate4,数据库连接池採 ...

  10. LeetCode 8. String to Integer (atoi) (字符串到整数)

    Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...