黑马程序员-Linux网络编程-01

目录

课程链接

 协议

 分层模型

网络传输数据封装流程 

 以太网帧和ARP请求

IP协议 

TCP协议 

BS与CS模型对比 

 套接字

 网络字节序

IP地址转换函数

 sockaddr地址结构

socket模型创建流程 

socket()和bind() 

 listen()和accept()​


课程链接

03-协议_哔哩哔哩_bilibili

 协议

 分层模型

 

网络传输数据封装流程 

组包、拆包,只需要记住一个数据无法单纯的进入网络,需要进行包装一些数据才能发送到网络中,而且这些数据的包装都是系统完成,然后通过网卡进行发送,将数据发送到网络环境中去,接收数据的主机的网卡接收到后,系统进行拆包处理 

 以太网帧和ARP请求

以太网帧中重点内容是:MAC地址

 ARP:通过IP地址获取对方MAC地址

IP协议 

IP版本:IPV4和IPV6

TTL:time to life 路由节点的跳转上限

场景:信息发送到B主机的路由断开,导致信息一直在其他路由上传来传去,经过一个路由器TTL减1,减到0时路由就舍弃这一段数据 

 

TCP协议 

 

对上面的几种信息了解即可 

BS与CS模型对比 

 套接字

套接字成对存在,并且理解下面的原理图,一个文件描述符管理着两个缓冲区,一个读和一个写

 

 网络字节序

网络字节序:大端模式--因此需要转换

IP地址转换函数

 

如果以上面的函数转换一个IP地址很麻烦,因此linux提供了一个简单的IP转换函数 

 inet_pton的使用方法

 sockaddr地址结构

struct sockaddr是老版本的,struct sockaddr_in是新版本,因此我们使用新版本的时候需要转换为老版本

 

 INADDR_ANY是取电脑有用的IP地址,但是有时候我们可以使用一个确定的IP地址通过命令行传参

socket模型创建流程 

目的:建立多个客户端和服务器,客户端发送小写英文,服务器返回大写英文

此通信中产生了几个套接字:3个

listen的作用是设置一次性能连接服务器的客户端个数, 而不是监听的作用,这个作用是为了设置产生accept的作用,第一个创建的socket相当于经理,listen表示经理需要的迎宾小姐个数,当客户端socket来时,accept获取经理中的迎宾小姐,一个客户端一个迎宾小姐,此时对于一个客户端来说,共产生了3个客户端,因此accept需要获取第一个创建的socket(相当于需要获取经理的命令)

 

 

socket()和bind() 

 

bind()函数建议客户端和服务器都绑定IP地址和端口号 

 listen()和accept()

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值