知识补充
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
Socket本质是编程接口(API),对TCP/IP的封装,通常也称作套接字,用于描述IP地址和端口。
7 | 应用层 | 例如HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP |
6 | 表示层 | 例如XDR、ASN.1、SMB、AFP、NCP |
5 | 会话层 | 例如ASAP、TLS、SSH、ISO 8327 / CCITT X.225、RPC、NetBIOS、ASP、Winsock、BSD sockets |
4 | 传输层 | 例如TCP、UDP、RTP、SCTP、SPX、ATP、IL |
3 | 网络层 | 例如IP、ICMP、IGMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、 X.25 |
2 | 数据链路层 | 例如以太网、令牌环、HDLC、帧中继、ISDN、ATM、IEEE 802.11、FDDI、PPP |
1 | 物理层 | 例如线路、无线电、光纤、信鸽 |
解疑答惑
- 如果不使用socket是不是无法建立tcp协议的连接了?
- 如果socket是对TCP/IP的封装那么TCP是怎样子的?
- socket读取流读取的字节流是TCP没有处理过的原字节流吗?
- 为什么Java中Socket的每次读取都少了第一个字节?
- TCP协议传输的数据是怎样子的有什么样的格式或约定?