<<图解TCP/IP协议>>

一 网络基础知识

七层网络模型:(OSI参考模型)

1.物理层: 光纤,无线,电缆...(将数据的0,1转换成电压或者脉冲光传输给物理的介质)
2.数据链路层: 以太网,无线LAN(局域网),PPP,(互联设备之间的传送和识别数据帧)
3.网络层: IPV4,IPV6,IPsec,ICMP...(地址管理,路由选择)
4.传输层: TCP,UDP,SCTP,DCCP(负责数据可靠的传入目标地址)
5.会话层: 通信管道,负责建立,断开通信连接
6.表示层: 设备固有数据格式和网络标准数据格式的转换(比如两个用户使用不同版本,不同系统,不同邮件客户端,需要将发送者的信息转换成接收端能识别的信息,这个就是表示层干的事)
7.应用层: TELENT,SSH,HTTP,SMTP,POP,FTP,HTML,SIP....

LAN(Local Area Network) 局域网,像我们常用的W-LAN(Wireless Local Area Network)就是无线局域网.

什么是协议
简单来说,两个不同方言的人定了一套规则;
以某种语言(比如说普通话)作为通信方式,
这样两个人都用汉语通信,这样双方都能明白,
这套规则就叫做协议

IP地址的组成
IP地址由网络号和主机号组成.
网络号相同证明他们处在同一个网段,
MAC寻址:依靠地址转发表(记录的是MAC地址)
IP寻址:依赖路由控制表(记录的是网络号)
实际的地址转发表与路由控制表中能获取的信息并不是具体的目标地址,而是该数据应该被发送出去的网卡信息

搭建网络的主要设备

网卡: 使计算机填往的设备
中继器: 从物理层上延长网络的设备(OSI模型的第一层,物理层)由电缆传过来的电信号或光信号经由中继器的波形调整和放大再传给另一个电缆.
网桥(2层交换机): 从数据链路层上延长网络的设备(OSI模型的第二层)
路由器(3层交换机):连接两个网络,并对分组报文进行转发的设备 (OSI模型的第三层)
交换机(4~7层交换机): 处理传输层以上各层的网络传输设备
网关: 转换协议的设备

二 TCP/IP 数据包

以发送邮件为例:(每个协议分层时,都会包含收发端信息,以太网会用MAC地址IP会用IP地址,TCP/UDP会用端口号)

  1. TCP负责建立连接,发送数据,断开连接,实现可靠传输;在数据前加上TCP首部(包括源端口号和目标端口号,用于识别发送主机和接收主机的应用,序号,以及校验),随后附加了TCP首部的包再发送给IP.

  2. IP将TCP传过来的TCP首部和TCP数据合起来当做自己的数据,并在签名加上IP首部(包含接收端,发送端的IP地址),然后再发送给路由器或者网络接口的驱动程序.

  3. 给传过来的数据加上以太网首部(包含接收,发送端的MAC地址和标志以太网类型的数据协议),并进行发送处理.

数据包接收

  1. 以太网的包首部找到MAC地址,如果不是发给自己的则丢弃,否则就从类型域中判断数据类型,判断为IP包,则交给IP子程序处理
  2. 判断是否和自己的IP地址相匹配,如果上层是TCP,则交给TCP处理,如果是UDP,则交给UDP处理(对于有路由器的情况,接收端地址往往不是自己的地址,此时借助路由控制表,在调查应该送达的主机或路由器以后再转发数据).
  3. TCP处理模块首先会计算一下校验和,是否数据被破坏,再检查是否按照序号接收数据,最后检查端口号,确定具体的应用程序,数据接收完毕之后,接收端发送一个"确认回执"给发送端,如果这个回执信息未能到达发送端,那么发送端则会认为接收端没有接收到数据而一直发送,数据被完整接收后,会传给由端口号识别的应用程序.
数据包装流程图

三 数据链路

MAC地址
MAC地址长 48 比特,
第一位: 单播/多播地址(0/1)
第二位: 全局/本地地址(0/1)
3~24位: 保证各个厂家之间不重复
25~48位: 厂商产品之间不重复

共享介质型网络
指由多个设备共享一个通信介质的一种网络.
访问控制方式:
(1)争用方式 --通过电压检查冲突
(2)令牌传递方式 -- 只有获得令牌的站才能发送数据

非共享介质网络
不共享介质,每个站直接连接交换机,由交换机负责转发数据帧

根据MAC地址转发
主机A给主机B第一次发送消息后,交换机就记录下了,主机A的端口号,当主机B想给A发送消息的时候,就直接将内容拷贝到主机A对应的端口.

环路检测技术

四 以太网

数据链路中最著名,使用最广泛的莫过于以太网

五 无线通信

六 PPP协议

七 IP协议

作用: 负责在没有直连的两个网络之间进行通信传输,简单来说它是实现两个主机数据交换的基石,就像邮寄的地址,只有知道详细地址们才能将包裹送到你手上.

IP地址 = 网络标识 + 主机标识
192.168.128.24
192.168.128这个就是网络标识
24是主机标识
一般来说,同一个路由器下的网络标识是一样的.

IP地址分类
IP地址分为四个级别: A,B,C,D类.
A类地址首位以0开头,用十进制标识的话就是0.0.0.0 ~ 127.0.0.0
B类地址首位以10开头,用十进制标识的话就是128.0.0.1 ~ 191.255.0.0
C类地址首位以110开头,用十进制标识的话就是192.168.0.0 ~ 239.255.255.0
D类地址首位以1110开头,用十进制标识的话就是224.0.0.0 ~ 239.255.255.255

多播使用D类地址,如果前四位是以1110开头的就可以认为是多播地址

子网掩码
子网掩码对应的网络标识部分全部为1,对应的主机标识为0

DNS(Domian Name System)

ARP(Address Resolution Protocol)
从IP地址定位MAC地址的协议
两台主机间的相互通信,为何要IP地址 和MAC地址,只要知道其中的一个不就好了麽?
直接通过IP地址不能到达主机B,因为路由器隔断了整个路径,必须先知道路由器C的地址

主机A 和 主机B 不在同一个网络的情况

RARP(Reverse Address Resolution Protocol)
从MAC地址定位IP地址的协议

ICMP
提供网络检测,报错功能的协议;负责与IP相关的设置.

DHCP(Dynamic Host Configuration Protocol)
实现了自动设置IP地址,统一管理IP地址分配.
DHCP具备的功能:
DHCP服务器
在分配IP地址前发送ICMP会送请求包,确认没有返回应答.
DHCP客户端
针对从DHCP那里获得的IP地址发送ARP请求包,确认没有返回应答.

NAT(Network Address Translator)
是用于在本地网络中使用私有地址,在链接互联网是转而使用全局IP地址的技术.

根据端口号识别应用

TCP/IP 或 UDP/IP通信中长采用以下万五个信息来识别,如果某一项不一致,则被认为是其他通信.

1.源IP地址
2.目标IP地址
3.协议号
4.源端口号
5.目标端口号

如何确定一个通信

0 ~ 1023一般叫做知名端口号,这些端口号大多被系统使用,所以才设置端口号的时候,尽量大于这个数值;有些端口号也被注册,它们分布在1024 ~ 49151,动态分配的端口号取值范围在49152 ~ 65535.

TCP的三次握手,也叫确认应答

FTP的工作机制
它使用两条TCP连接,一条用来控制,另一条用于数据(文件)传输

URI(Uniform Resource Identifier)
用于标识资源,URI可用于WWW之外的搞笑识别码,它被用于主页地址,电子邮件,电话号码等各种组合之中(广义的概念).

URL(Uniform Resource Locator)
用于表示互联往中资源文件的具体位置(狭义的概念).

HTTP
100 ~ 101 信息提供
200 ~ 206 肯定应答
200 ~ 305 重定向请求
400 ~ 415 客户端请求内容出现错误
500 ~ 505 服务器错误

Web基本要素:URI,HTML HTTP
JavaScript 是嵌入在HTML中的编程语言.
通过JavaScript操作DOM来实现更为生动的Web页面技术,就是Ajax(Asynchronous JavaScript and XML)

VPN(Virtual Private Network)

你可能感兴趣的:(<<图解TCP/IP协议>>)