1、下面推荐一个关于TCP/IP协议的网站:http://www.51cto.com/art/200701/38863.htm
之所以选择原创,贴上网址,是怕自己转载的文章再被CSDN清空了,我就哭了。。。
2、下面是从百度找到的,记下自己要用的部分:网址:http://baike.baidu.com/view/7649.htm(里面包括每层都有哪些协议)
OSI中的层 | 功能 | TCP/IP协议族 |
---|---|---|
应用层 | 文件传输,电子邮件,文件服务,虚拟终端 | TFTP,HTTP,SNMP,FTP,SMTP,DNS,RIP,Telnet |
表示层 | 数据格式化,代码转换,数据加密 | 没有协议 |
会话层 | 解除或建立与别的接点的联系 | 没有协议 |
传输层 | 提供端对端的接口 | TCP,UDP |
网络层 | 为数据包选择路由 | IP,ICMP,OSPF,BGP,IGMP,ARP,RARP |
数据链路层 | 传输有地址的帧以及错误检测功能 | SLIP,CSLIP,PPP,MTU,ARP,RARP |
物理层 | 以二进制数据形式在物理媒体上传输数据 | ISO2110,IEEE802,IEEE802.2 |
之后的3、4、5的来源:讲的特别好
TCP/IP协议与UDP协议的区别 [整理]http://blog.sina.com.cn/s/blog_5e3ab00c0100m1fv.html
3、TCP/IP三次握手原理:
TCP提供可靠的连接服务,通过三次握手建立一个连接。传递两种包:SYN和ACK包
(服务器和客户端,可以改成主机A和主机B)
第一次握手:发生在建立连接时,客户端向服务器发送SYN包(syn=j),然后置状态SEND;
第二次握手:服务器收到客户端发来的SYN包,使SYN包(ack=j+1),然后向客户端发送SYN(syn=k)和ACK(j+1)包,置状态RECV;
第三次握手:客户端收到SYN和ACK包,然后向服务器发送ACK(k+1)。
然后客户端和服务器进入ESTABLISHED状态,完成三次握手。开始传送数据。
以上是自己整理的,但是感觉好像还不太对,先参考上面博客的吧。
3次握手的特点
没有应用层的数据
SYN这个标志位只有在TCP建产连接时才会被置1
握手完成后SYN标志位被置0
4、TCP断开连接要进行4次“拜拜”
1 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求
2
3 由B 端再提出反方向的关闭请求,将FIN置1
4 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束.
由TCP的三次握手和四次断开可以看出,TCP使用面向连接的通信方式,大大提高了数据通信的可靠性,使发送数据端
和接收端在数据正式传输前就有了交互,为数据正式传输打下了可靠的基础
名词解释
ACK
都收到了.比如,确认号为X,则表示前X-1个数据段都收到了,只有当ACK=1时,确认号才有效,当ACK=0时,确认号无效,这时会要求重传数据,保证数据的完整性.
SYN
FIN
5、TCP和UDP(User Data Protocol,用户数据报协议)协议的区别?
小结TCP与UDP的区别:
1.基于连接与无连接;(TCP是面向连接的,UDP是面向报文的)
2.速度:TCP慢,UDP快。对系统资源的要求(TCP较多,UDP少);
3.应用场合:TCP传输大量数据,UDP少量数据。
4.可靠性:TCP可靠,保证数据正确性;UDP不可靠,可能丢包。
TCP保证数据顺序,UDP不保证。
5.流模式与数据报模式 ;