首页 > 其他分享 >第十二周学习笔记(学习笔记11)

第十二周学习笔记(学习笔记11)

时间:2023-11-25 17:00:37浏览次数:32  
标签:11 UDP 主机 笔记 学习 TCP IP 数据包 端口号

〇、思维导图

一、知识点总结

  1. 论述TCP/IP协议及其应用,具体包括TCP/IP栈、IP地址、主机名、DNS、IP数据包和路由器;
    2.介绍TCP/IP网络中的UDP和TCP协议、端口号和数据流;
    3.阐述服务器—客户机计算模型和套接字编程接口;
    4.介绍Web和CGI编程,解释HTTP编程模型、Web页面和Web浏览器;
    5.展示如何配置Linux HTTPD服务器来支持用户Web页面、PHP和CGI编程;
    6.阐释客户机和服务器端动态Web页面。

网络编程基础

  • TCP/IP协议
    TCP/IP协议包括ICMP、IP、telnet、udp等协议,是利用IP进行通信时所必须用到的协议群的统称。

  • 数据流路径

  • IP主机和IP地址

  • 主机:主机是支持TCP/IP协议的计算机或设备。

每个主机由一个32位的IP地址来标识。为方便起见,32位的IP地址号通常用点记法(点分十进制)表示,例如:134.121.64.1,其中各个字节用点号分开。主机也可以用主机名来表示,如dns1.eec.wsu.edu。

  • IP地址:分为两部分,即NetworkID字段和HostID字段。

根据划分,IP地址分为A~E类。例如,一个B类P地址被划分为一个16位NetworkID,其中前2位是10,然后是一个16位的HostID字段。发往P地址的数据包首先被发送到具有相同networkID 的路由器。路由器将通过HostID将数据包转发到网络中的特定主机。

每个主机都有一个本地主机名localhost,默认P地址为127.0.0.1。本地主机的链路层是一个回送虚拟设备,它将每个数据包路由回同一个 localhost。

  • IP协议

用于在IP主机之间发送/接收数据包。IP尽最大努力运行。IP主机只向接收主机发送数据包,但它不能保证数据包会被发送到它们的目的地,也不能保证按顺序发送。

  • IP数据包

由IP头、发送方地址和接收方IP地址以及数据组成。

  • IP数据包格式

每个数据包的大小最大为64KB。IP头包含有关数据包的更多信息,例如数据包的总长度、数据包使用TCP还是UDP、生存时间(TTL)计数、错误检测的校验和等。

  • 路由器

接收和转发数据包的特殊IP主机。

一个IP数据包可能会经过许多路由器,或者跳跃到达某个目的地。每个IP包在IP报头中都有一个8位生存时间(TTL)计数,其最大值为255。在每个路由器上,TTL会减小1。如果TTL减小到0,而包仍然没有到达目的地,则会直接丢弃它。这可以防止任何数据包在IP网络中无限循环。

  • UDP

在IP上运行,用于发送/接收数据报。

与IP类似,UDP不能保证可靠性,但是快速高效。
如ping是一个向目标主机发送带时间戳UDP包的应用程序。接收到一个pinging数据包后,目标主机将带有时间戳的UDP包回送给发送者,让发送者可以计算和显示往返时间。
如果目标主机不存在或宕机,当TTL减小为0时,路由器将会丢弃pinging UDP数据包。在这种情况下,用户会发现目标主机没有任何响应。用户可以尝试再次ping,或者断定目标主机宕机。

  • TCP

一种面向连接的协议,用于发送/接收数据流。

TCP也可在IP上运行,但它保证了可靠的数据传输。通常,UDP类似于发送邮件的USPS,而TCP类似于电话连接。

  • 端口编号

端口号是分配给应用程序的唯一无符号短整数。

要想使用UDP或TCP,应用程序(进程)必须先选择或获取一个端口号。前1024个端口号已被预留。其他端口号可供一般使用。应用程序可以选择一个可用端口号,也可以让操作系统内核分配端口号。

应用程序 = (主机IP, 协议, 端口号)

  • 网络和主机字节序

计算机可以使用大端字节序,也可以使用小端字节序。在互联网上,数据始终按网络序排列,这是大端。在小端机器上,例如基于Intel x86的PC,htons()、htonl()、ntohs()、ntohl()等库函数,可在主机序和网络序之间转换数据。

  • TCP/IP网络中的数据流

二、实践过程

socket通信实现远程控制
服务器端响应

  • Linux
  • openeuler

三、问题与解决

1.代码修改
在上课敲代码是时候发现自己敲代码总有“马虎”的时候,代码难免出错,而运行前将代码给GPT检查一下,就好多了。

2.虚拟机出现权限不够的现象
在询问GPT 后得到解决方法

四、苏格拉底挑战

  • 网络编程



    -ip主机和ip地址

代码链接
我的码云仓库

标签:11,UDP,主机,笔记,学习,TCP,IP,数据包,端口号
From: https://www.cnblogs.com/summerjam-land/p/17852531.html

相关文章

  • 【9.0】Python高级之常用模块学习
    【一】re【二】time、datetime【三】os......
  • OI_problem 玛丽卡_洛谷P1186
    题意一个\(N\)个点\(M\)条边的带边权无向图,要求输出最小的\(V\)使得不管去掉哪一条边,都存在从\(1\)到\(n\)的路径使得边权和不超过\(V\)。思路感觉朴素不太好做,考虑二分。对于一个二分值,即要判断在关于这个值的生成图中,\(1\)和\(n\)在不在一个边双里。考......
  • HanLP 学习
    学习HanLP需要了解,双数组Trie树(Double-arrayTrie)Aho-CorasickDoubleArrayTire算法ACDAT-基于双数组字典树的AC自动机TreeMappipinstallhanlp[full]-ihttps://pypi.tuna.tsinghua.edu.cn/simpleHanLP词性标注集标签含义a形容词ad副形词ag......
  • 机器学习环境安装和使用之01安装库
    安装环境&库pipinstallvirtualenvpipinstallvirtualenvwrapper-win 如果安装的速度慢,则配置pip源:pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple/安装库:pip3installnumpypip3installpandaspip3installtablespip3installjupyt......
  • springboot学习之——SpringApplication.run方法
    springboot学习之——SpringApplication.run方法目录springboot学习之——SpringApplication.run方法第一步第二步ConfigurableApplicationContextspringboot版本3.1.5第一步 /** *Statichelperthatcanbeusedtoruna{@linkSpringApplication}fromthe *spe......
  • 学习笔记11+代码
    一、苏格拉底挑战二、遇见的问题三、实践和代码#include<stdio.h>#include<stdlib.h>#include<string.h>#include<sys/socket.h>#include<netdb.h>#include<arpa/inet.h>#include<unistd.h>#defineMAX256#defineSERVER......
  • 强化学习 1
    以下是对李宏毅老师youtube视频-【机器学习2021】概述增强式学习一、二、三简要记录https://www.youtube.com/watch?v=XWukX-ayIrshttps://www.youtube.com/watch?v=US8DFaAZcp4https://www.youtube.com/watch?v=kk6DqWreLeU什么是ReinforcementLearning(RL)?  先回顾一下Su......
  • P1135 奇怪的电梯
    奇怪的电梯题目背景感谢@yummy提供的一些数据。题目描述呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第\(i\)层楼(\(1\lei\leN\))上有一个数字\(K_i\)(\(0\leK_i\leN\))。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那......
  • 信息安全系统设计与实现 学习笔记11
    《Unix/Linux系统编程》13章学习笔记网络编程简介TCP/IP协议、UDP和TCP协议、服务器—客户机计算、HTTP和Web页面、动态Web页面的PHP和CGI编程TCP/IP协议TCP/IP是互联网的基础,TCP代表传输控制协议,IP代表互联网协议。TCP/IP的组织结构分为几个层级,通常称为TCP/IP堆栈。顶层时......
  • 20231125橡胶
    目前在等待日线有没有一波C3的上涨波段。  具体到下周走势,也会比较跌宕起伏: ......