坚持学习100天:网络编程

46 篇文章 0 订阅
44 篇文章 0 订阅
博主修齐在C++学习的第一百零二天开始接触网络编程,从TCP/IP协议、多线程到套接字编程,逐步深入。文章详细介绍了TCP/IP协议的分层结构,包括应用层、传输层、网际层和网络接口层,并探讨了网页的工作原理。此外,还分享了学习过程中的思考和疑惑。
摘要由CSDN通过智能技术生成

前言

Hello,我是修齊。
学习C++的第一百零二十一天,前面C++入门到精通算是勉强了解完了,还有好多没记住,好多没搞明白,先往前面看看吧,今天纠结了很久,最后开了一本新书学习网络编程,路不一定对,但很用心学习,所有走过的路,都会是风景。
在这里记录一些学习的东西和学习的心情,内容主要是一些自己学习整理的小笔记。

一、网络编程

TCP/IP协议、本机网络信息编程、

多线程编程、套接字编程、

简单网络服务器设计、

基于IO模型的网络开发、

网络性能工具iperf的使用、

Winlnet开发浏览器、Http编程、

Web编程、winpcap编程、

ICE网络编程、IPv6编程

二、TCP/IP

1.TCP/IP:Transmission Control Protocol/Internet Protocol<传输控制协议、因特网互联协议>(网络通信协议)。
2.TCP/IP协议指的是一个协议簇,包括多个网络协议(IP协议、IMCP协议、TCP协议、HTTP协议、FTP协议、POP3协议等)。不是指一个协议,也不是两个协议合称。
3.TCP/IP定义就算机操作系统如何连入因特网,以及数据如何在它们之间传输的标准。

三、TCP/IP协议的分层结构

1.协议簇层次由上到下,分四层《应用层、传输层、网际层、网络接口层》
2.应用层:Application Layer:包含所有高层协议:

虚拟终端协议(TELcommunications NETwork,TELNET)一台机器上的用户登录到远程机器上并进行工作。
文件传输协议(File Transfer Protocol,FTP)提供有效地将文件从一台机器上移到另一台机器上的办法。
电子邮件传输协议(Simple Mail Transfer Protocol,SMTP)电子邮件的收发。
域名服务(Domain Name Service,DNS)把主机名映射到网络地址。
网络新闻传输协议(Net News Transfer Protocol,NNTP)新闻的发布、检索和获取。
超文本传输协议(HyperText Transfer Protocol,HTTP)www上获取主页。

3.传输层:Transport Layer<TCP协议和UDP协议所在>

.TCP:传输控制协议是面向连接的协议,提供可靠的报文传输和对上层应用的链接服务。
.TCP有可靠的性保证、流量可控制、多路可复用、优先权和安全性控制。
.UDP:(User Datagram Protocol)用户数据报协议:面向无连接的不可靠传输协议。
.UDP:不需要TCP的排序和流量控制等功能。

4.网际层:Internet Layer<Internet层、网络层>整个TCP/IP体系结构的关键部分

.使主机可以把分组发往任何网络,并使分组独立地传向目标。
。分组经由不同的网络,到达的顺序和发送的顺序会不同。
。使用的协议有IP(Internet Protocol)因特网协议

5.网络接口层:Network Interface Layer<数据链路层>整个体系结构的基础部分

.接收IP层的IP数据包,通过网络向外发送、接收处理从网络上来的物理帧,抽出IP数据包,向IP层发送。
.主机和网络的实际连接层,下面是实体线路(以太网络、光纤网等)。
.有以太网、令牌环网等标准。
.负责网卡设备的驱动、帧同步(从网线上检测到什么信号算作为新帧的开始)、冲突检测(检测到冲突就自动重发)、数据差错校验等工作。
.交换机是工作在链路层的网络设备。(可在不同链路层间转发数据帧(十兆以太网和百兆以太网间/以太网和令牌环网间))。
.交换机将进来的数据帧拆掉链路层首部重新封装之后再转发。

6.不同协议层对本层数据单元有不同的称谓,传输层:数据段;简称:段(segment)/网络层:数据包(packet);简称:IP包、分组/链路层:帧(frame);简称:数据帧。
7.数据封装成帧发到传输介质,到达目的主机后每层协议再剥掉相应的部首,最后将应用层数据交给应用程序处理。

四、 网页工作原理

发送方
。浏览器:www.xxx.com+回车键,访问网页=>访问Web服务器上的网页
。应用层采用HTTP协议,浏览器将网址等信息组成HTTP数据,并送给下一层
。传输层在数据前加TCP首部,标记端口为80(Web服务器默认端口),并传给下一层
。网络层在数据段前加上自己机器的IP和目的IP,这时这个段称为IP数据包(或报文),并将IP包给下一层
。网络接口层在IP数据包前加上自己机器的MAC地址,以及目的MAC地址,这时加上MAC地址的数据称为帧。
。网络接口层通过物理网卡将帧以比特流的方式发送到网络
互联网有路由器,读取比特流中的IP地址选路,到达正确网段,网段的交换机读取比特流中的MAC地址,找到对应接收机器
接收方
。网络接口层用网卡接收到比特流,读取帧,将帧中的MAC地址去掉,就是IP数据包,传递上一网络层
。网络层接收IP数据包,将IP从包前拿掉,取出TCP数据段交给传输层
。传输层得到数据段,知道TCP标记的端口80,说明应用层协议是HTTP,将TCP头去掉交给应用层,并告知是HTTP数据
。应用层发送方情求的是HTTP数据,调用Web服务器程序,把www。xxx.com的首页文件发送回去

五、小脑袋,大疑问

应用层
传输层
网络层
链路层
术语

上述内容如有侵权,联系即删。
感谢阅读-感谢支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值