图解TCP/IP笔记(1)——TCP/IP协议群
转载请注明: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地址、标志以太网类型。
接收数据包
- 首先从以太网的包首部判断是否是自己的MAC地址,传给相关子程序(IP/ARP)
- 对于有路由控制器,接收端地址往往不同,需要借助路由控制表,调查应该送达的主机或路由器再转发数据。
- TCP模块时计算一下检验和检查数据,检查是否按序接收数据、端口号,确定具体应用程序
- 接收端发送“确认回执”给发送端,若发送端未接受则会一直反复发送
- 数据完整接收后,发送给端口号识别应用程序
网络接口层(数据链路层)
利用以太网中的数据链路层进行通信,属于接口层。当做让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协议群的更多相关文章
- TCP/IP笔记(二)TCP/IP简介
上回,主要介绍了下协议和OSI参考模型,并简单了解下网络构成要素,这回该说说TCP/IP了 互联网与TCP/IP的关系 互联网进行通信时,需要相应的网络协议,TCP/IP原本就是为使用互联网而开发 ...
- TCP/IP笔记(七)TCP详解
TCP的特点及其目的 为了通过数据包实现可靠性传输,需要考虑很多事情,例如数据的破坏.丢包.重复记忆分片顺序混乱等问题.如不能解决这些问题,也就无从谈起可靠传输. TCP通过检验和.序列号.确认应答. ...
- 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 ...
- TCP/IP笔记(六)TCP与UDP
终于来到了传输层,这个面试问的最多了,内容比较多,要分两篇来总结,这是第一篇
- 图解HTTP学习笔记——简单的HTTP协议
简单的HTTP协议 前言 最近在学习Web开发的相关知识,发现<图解HTTP>这本书通俗易懂.所以花时间学习这本书,并记录下学习笔记. 如上图,我们每天都在浏览网页,一般我们都是在浏览器地 ...
- TCP/IP协议原理与应用笔记17:IP编址(重点)
1. IP地址(通用标识符) 对于同一个网络设备(主机或路由器)的不同网络连接,需要不同的IP地址进行标识 2. 主机标识符 主要有下面三种方式的主机标识方式: (1)Name:是什么,可读性强(了解 ...
- 《TCP/IP详解 卷1:协议》读书笔记
第一章 概述 协议栈 应用层 HTTP,FTP 运输层 TCP, UDP 段(Segment) 网络层 IP, ICMP, IGMP 数据报(Datagram) 链路层 帧(Frame) 物理 ...
- 『TCP/IP详解——卷一:协议』读书笔记——17
2013-08-27 15:37:42 6.5 ICMP端口不可达差错 端口不可达报文是ICMP差错报文的一种,它是ICMP不可达报文中的一种,以此来看一看ICMP差错报文中所附加的信息.使用UDP来 ...
- 『TCP/IP详解——卷一:协议』读书笔记——15
2013-08-25 13:39:40 第6章 ICMP:Internet控制报文协议 6.1 引言 ICMP经常被认为是IP层的一个组成部分.它传递差错报文以及其他需要注意的信息.ICMP报文同通常 ...
随机推荐
- CODEVS1222 信与信封问题 (匈牙利算法)
先做一遍匈牙利算法.对于已经匹配的边,如果删去之后还能最大匹配数增加,则不符合要求. 一遍匈牙利算法是O(n^3)的,对于每一条边做n次,每次O(n^2),总的复杂度是O(n^3). 注意:不要忘记输 ...
- Linux下汇编语言学习笔记76 ---
这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...
- NOIP2011 提高组合集
NOIP 2011 提高组合集 D1 T1 铺地毯 模拟,题目让你干啥你就干啥 #include <iostream> #include <cstdio> using name ...
- Codeforces 300E(数学)
题意:给定k个数字,求最小的正整数n,使得“n的阶乘”是“这k个数字的阶乘的积”的倍数.1<=k<=1e6,数字ai满足1<=ai<=1e7 分析:如果我们能对着k个数字的阶乘 ...
- ExtJs--13-- Ext.apply(src,apply) 和 Ext.applyIf(src,apply) 两个方法的使用和差别比較
Ext.onReady(function(){ /* * Ext.apply(src,apply) 和 Ext.applyIf(src,apply) 两个方法的使用和差别比較 */ //Ext.app ...
- Linux下Shell编程
Linux的shell编程 1.什么是shell? 当一个用户登录Linux系统之后,系统初始化程序init就为每个用户执行一个称为shell(外壳)的程序. shell就是一个命令行解释器,它为用户 ...
- iOS屏幕适配方案-Auto Layout
市场上的android手机五花八门.各种尺寸的屏幕让android程序员们比較头疼. 也有一些大神写了一些博客提出了自己的观点.iOS貌似也迎来了大屏6+,因此屏幕适配的问题也是有滴,因此苹果也有自己 ...
- unity3d-配置Android环境,打包发布Apk流程详解
31:unity3d-配置Android环境,打包发布Apk流程详解 作者 阿西纳尼 关注 2016.08.28 22:52 字数 498 阅读 1806评论 0喜欢 5 Unity配置Android ...
- CocoaPods 的安装和使用介绍
CocoaPods 的安装和使用介绍 安装 安装方式异常简单 , Mac 下都自带 ruby,使用 ruby 的 gem 命令即可下载安装: 1 2 $ sudo gem install cocoap ...
- ios7 真机调试 设置 bitcode
用Xcode 7 beta 3在真机(iOS 8.3)上运行一下工程,结果发现工程编译不过.看了下问题,报的是以下错误: ld: ‘/Users/**/Framework/SDKs/PolymerPa ...