TCP/IP结构对应OSI
OSI中的层
功能TCP/IP协议族
应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等
表示层 翻译、加密、压缩 没有协议
会话层 对话控制、建立同步点(续传) 没有协议
传输层 端口寻址、分段重组、流量、差错控制 TCP,UDP
网络层 逻辑寻址、路由选择 IP,ICMP,OSPF,EIGRP,IGMP
数据链路层 成帧、物理寻址、流量,差错,接入控制 SLIP,CSLIP,PPP,MTU
物理层 设置网络拓扑结构、比特传输、位同步 ISO2110,IEEE802,IEEE802.2
TCP/IP结构对应OSI
TCP/IP
OSI
应用层
应用层
表示层
会话层
主机到主机层(TCP)(又称传输层)
网络层(IP)(又称互联层)
网络接口层(又称链路层)
数据链路层
物理层

TCP/IP 由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。

 

物理层的主要网络设备为中继器、集线器

数据链路层主要设备为以太网交换机

网络层的设备主要有路由器、三层交换机等

网络层协议负责的是提供主机间的逻辑通信

 运输层协议负责的是提供进程间的逻辑通信

 

IP协议: 这种不可靠的、无连接的传送机制称为internet协议,支持网间互连的数据报协议

IP协议是网络层的协议,它是为了实现相互连接的计算机进行通信设计的协议,它实现了自动路由功能,即自动寻径功能。TCP是传输层的协议,它向下屏蔽IP协议的不可靠传输的特性,向上提供一种面向连接的、可靠的点到点数据传输。TCP在可靠性和安全性上等更有保证。UDP也是传输层协议,它提供的是一种非面向连接的,不可靠的数据传输,这主要是有些应用需要更快速的数据传输,比如局域网内的大多数文件传输都是基于UDP的。UDP在传输速率上更快,开销更小

IP协议三个定义:
  (1)IP定义了在TCP/IP互联网上数据传送的基本单元和数据格式。
  (2)IP软件完成路由选择功能,选择数据传送的路径。
  (3)IP包含了一组不可靠分组传送的规则,指明了分组处理、差错信息发生以及分组的规则。

IP地址分为五类,网络号+主机号

(五类)

(IPV4)

服务

端口号

服务

端口号

FTP

21

SSH

22

telnet

23

SMTP

25

Domain(域名服务器)

53

HTTP

80

POP3

110

NTP(网络时间协议)

123

MySQL数据库服务

3306

Shell或 cmd

514

POP-2

109

SQL Server

1433

SNMP

161

 

 

ICMPInternet Control Message Protocol,因特网控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由器是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。ICMP报文有两种:差错报告报文和询问报文

HTTP超文本传输协议,是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统

网桥是一个局域网与另一个局域网之间建立连接的桥梁

 DHCP动态主机配置协议,是一种让系统得以连接到网络上,并获取所需要的配置参数手段

 

网络接口卡(网卡)的功能?

1)进行串行/并行转换。

2)对数据进行缓存。

3)在计算机的操作系统安装设备驱动程序。

4)实现以太网协议。

以太网帧的格式

目的地址

源地址

类型

数据

FCS

交换机和路由器分别的实现原理是什么

交换机用于局域网,利用主机的MAC地址进行数据传输,而不需要关心IP数据包中的IP地址,它工作于数据链路层。路由器识别网络是通过IP数据包中IP地址的网络号进行的,所以为了保证数据包路由的正确性,每个网络都必须有一个唯一的网络号。路由器通过IP数据包的IP地址进行路由的(将数据包递交给哪个下一跳路由器)。路由器工作于网络层。由于设备现在的发展,现在很多设备既具有交换又具有路由功能,两者的界限越来越模糊

 

ARP是地址解析协议

1)首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。

2)当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机IP地址,源主机MAC地址,目的主机的IP地址。

3)当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IPMAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。

4)源主机收到ARP响应包后。将目的主机的IPMAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

广播发送ARP请求,单播发送ARP响应

 

DNS

DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:包括:指定的DNS域名,指定的查询类型,DNS域名的指定类别。基于UDP服务,端口53. 该应用一般不直接为用户使用,而是为其他应用服务,如HTTPSMTP等在其中需要完成主机名到IP地址的转换

 

TCP的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?

答:建立连接的过程是利用客户服务器模式,假设主机A为客户端,主机B为服务器端。

1TCP的三次握手过程:主机AB发送连接请求;主机B对收到的主机A的报文段进行确认;主机A再次对主机B的确认进行确认。

2)采用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。失效的连接请求报文段是指:主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接请求,且建立成功,顺序完成数据传输。考虑这样一种特殊情况,主机A第一次发送的连接请求并没有丢失,而是因为网络节点导致延迟达到主机B,主机B以为是主机A又发起的新连接,于是主机B同意连接,并向主机A发回确认,但是此时主机A根本不会理会,主机B就一直在等待主机A发送数据,导致主机B的资源浪费。

3)采用两次握手不行,原因就是上面说的实效的连接请求的特殊情况。

4次挥手

(1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送(报文段4)。

(2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN一样,一个FIN将占用一个序号。

(3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A(报文段6)。

(4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1(报文段7)

1.为什么建立连接协议是三次握手,而关闭连接却是四次握手呢?

这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的连接请求后,它可以把ACK和SYN(ACK起应答作用,而SYN起同步作用)放在一个报文里来发送。但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可能未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后,再发送FIN报文给对方来表示你同意现在可以关闭连接了,所以它这里的ACK报文和FIN报文多数情况下都是分开发送的

posted on 2013-09-25 10:55  NoStop  阅读(255)  评论(0编辑  收藏  举报