
网络编程学习
花木狗
这个作者很懒,什么都没留下…
展开
-
网络分层模型及作用
分层结构封装各层的作用1、物理层:比特主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。2、数据链路层:帧数据链路层(Data Link Layer)是OSI模型的第二层,负责建立和管理节点间的链路。该层的主要功能是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。在计算机网络原创 2020-07-21 17:05:45 · 2114 阅读 · 1 评论 -
IO模型
一个输入操作包括两个阶段:(1)等待数据准备好(2)从内核向进程复制数据对于套接字输入来说,第一步是等待数据从网络中到达,当所等待分组到达时,它被复制到内核中某个缓冲区;第二步是把数据从内核缓冲区复制到应用进程缓冲区.阻塞式IO默认情况下,所有IO都是阻塞式的recvfrom作为一个阻塞式IO,系统调用直到数据报到达,且被复制到应用进程的缓冲区中或返回错误才返回。非阻塞式IO模型进程把一个套接字设置成非阻塞是在通知内核:当所请求的IO操作要把本进程投入睡眠才能完成时,不要把本进程投入睡眠原创 2020-07-18 19:53:49 · 129 阅读 · 0 评论 -
网络编程常用数据类型
POSIX数据类型符合POSIX(可移植操作系统接口)的结构需要至少3个字段:sin_family、sin_addr和sin_port。POSIX定义的常见数据类型: size_t(字节的单位)size_t是为了增强程序的可移植性而定义的,在不同系统上,size_t的定义不同。他的大小和系统的位数有关。它是用来表示一个结构或一个数据占据多少字节的一个单位。32位系统上:size_t是unsigned int,是32位无符号整型。占个4字节;64位系统上,size_t是unsigned long原创 2020-07-18 19:53:55 · 432 阅读 · 0 评论 -
linux安装wireshark
1、sudo apt-get install wireshark2、wireshark安装完成后,选择选项为yes,如果选错,后期再改。默认为no,修改为yes即可。3、重新修改为yes:sudo dqkg-reconfigure wireshark-common选择为yes4、修改用户权限:sudo vim /etc/group在最后的wireshark中,添加客户名billy...原创 2020-07-18 19:54:23 · 1798 阅读 · 0 评论 -
TCP的连接、断开与状态转移
TCP提供的功能连接:TCP提供客户与服务器之间的连接。传输之前需要先建立连接关系。 重传:TCP是可靠的,这与UDP不同。收端收到数据需要返回确认。如果没有收到确认,TCP会进行自动重传,并等待更长时间。数次重传失败后,TCP会放弃连接,并通知用户。RTT:TCP会自动估算客户和服务器之间的往返时间,将这个时间用于等待确认。由于往返时间的不稳定,TCP会持续估算一个给定连接。排序:TCP给每个字节关联一个序列号,并根据这个序列号对字节进行排序。假设一个应用写2048个字节到一个TCP套接字原创 2020-07-18 19:56:20 · 1053 阅读 · 0 评论 -
TCP、UDP的输出
TCP输出每一个TCP套接字都有一个发送缓冲区。可以使用套接字选项SO_SNDBUF来更改该缓冲区的大小。当某个进程调用write时,内核从该应用进程的缓冲区中复制所有数据到所写的套接字缓冲区中。(1)写入如果套接字缓冲区容量不够,该应用进程会进入睡眠。此时内核不会从wirte系统调用返回,直到应用进程的数据全部写完。write调用返回成功,说明原来的应用进程缓冲区可以重新使用了。这与UDP不同。UDP的write返回成功,证明数据已经加入输出队列。(2)封装发送TCP提取套接字缓冲区中的数据准备原创 2020-07-18 19:56:14 · 411 阅读 · 0 评论 -
端口号与套接字对
端口号(1)端口号的定义个分类任何时候,多个进程可以同时使用TCP、UDP、SCTP中的任意一种传输协议,但是不同的进程使用的端口号(16位整数)不同。不同的服务器规定了传输协议使用的不同的端口号,尽可能地规定相同的端口号分配给TCP、UDP、SCTP的同一个给定服务,例如FTP服务器,TCP、UDP、SCTP都是21.以上所说的都是服务端的端口号。对于服务器来说,ip地址就是服务器的所在地址,端口号区分服务器提供的不同服务。可以用客服电话来理解,对于中国移动来说(某个服务器),他的电话10086就是原创 2020-07-18 19:56:08 · 1378 阅读 · 0 评论 -
配置unp源码及运行程序遇到的问题
1、下载unix网络编程的源代码包,然后:tar -zxvf unpv13e.tar.gz 解压2、cd unpv13e,先修改文件操作权限:chmod u+x configure3、运行:./configure加粗样式4、接下来开始各种make编译5、进入lib:cd libmake得到静态库文件libudp.a6、进入libfreecd …/libfreemake此时出现问题查看后发现时inet_ntop方法中的参数size的类型,与声明在/usr/include/a原创 2020-07-18 19:56:01 · 557 阅读 · 0 评论