IP multicast is a method of sending Internet Protocol (IP) datagrams to a group of interested receivers in a single transmission. It is often employed for streaming media applications on the Internet and private networks.(wikipedia)
IP multicast is a method of sending Internet Protocol (IP) datagrams to a group of interested receivers in a single transmission. It is often employed for streaming media applications on the Internet and private networks.(wikipedia)
INTERNET PROTOCOL (IP)
, Datagram Format
, Fragmentation
, Options
, Security of IPv4 Datagrams
,ICMPv4
, MESSAGES
, Debugging Tools
, ICMP Checksum
, MOBILE IP
, Addressing
, Agents
, Three Phases
, Inefficiency in Mobile IP
High level overview of CoAP or Constrained Application Protocol. CoAP is a HTTP like protocol suitable for constrained environment like IoT. CoAP uses HTTP like request response model, status code etc.
INTERNET PROTOCOL (IP)
, Datagram Format
, Fragmentation
, Options
, Security of IPv4 Datagrams
,ICMPv4
, MESSAGES
, Debugging Tools
, ICMP Checksum
, MOBILE IP
, Addressing
, Agents
, Three Phases
, Inefficiency in Mobile IP
High level overview of CoAP or Constrained Application Protocol. CoAP is a HTTP like protocol suitable for constrained environment like IoT. CoAP uses HTTP like request response model, status code etc.
Size, Number of addresses, Comparison to IPv4, header format, Addressing Format, zero compression, Ports, network prefix, address allocation, Multicast instead of Broadcast, auto configuration,
Software engineering task bridging the gap between system requirements engineering and software design.
Provides software designer with a model of:
system information
function
behavior
Model can be translated to data, architectural, and component-level designs.
Expect to do a little bit of design during analysis and a little bit of analysis during design.
Object-Oriented Concepts
Attribute: the basic data of the class.
Method (operation): an executable procedure that is encapsulated in a class and is designed to
operate on one or more data attributes that are defined as part of the class.
Object: when specific values are assigned to all the resources defined in a class, the result is an
instance of that class. Any instance of any class is called an object.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
1. Internet Control Message
Protocol ICMP
The Internet Control Message Protocol (ICMP) is a control
protocol that is considered to be an integral part of IP, although
it is architecturally layered upon IP - it uses IP to carry its data
end-to-end. ICMP provides error reporting, congestion
reporting, and first-hop router redirection.
1
2. Introduction
IP provides best-effort delivery
Delivery problems can be ignored;
datagrams can be "dropped on the floor"
Internet Control Message Protocol (ICMP)
provides error-reporting mechanism
2
4. ICMP Features
ICMP uses IP as if ICMP were a higher-
level protocol (that is, ICMP messages are
encapsulated in IP datagrams). However,
ICMP is an integral part of IP and must be
implemented by every IP module.
ICMP is used to report some errors, not to
make IP reliable. Datagrams may still be
undelivered without any report on their
loss. Reliability must be implemented by
the higher-level protocols that use IP.
4
5. ICMP Features
ICMP can report errors on any IP datagram
with the exception of ICMP messages, to
avoid infinite repetitions.
For fragmented IP datagrams, ICMP
messages are only sent about errors on
fragment zero. That is, ICMP messages
never refer to an IP datagram with a non-
zero fragment offset field.
5
6. ICMP Features
ICMP has rules regarding error message
generation to prevent broadcast storms
ICMP messages are never sent in response to
datagrams with a destination IP address that is a
broadcast or a multicast address.
ICMP messages are never sent in response to a
datagram which does not have a source IP
address which represents a unique host. That is,
the source address cannot be zero, a loopback
address, a broadcast address or a multicast
address.
6
7. Error Message Generation
Rules
ICMP errors messages are not generated
in response to
an ICMP error message
datagrams destined to an IP broadcast
address
datagrams sent as a link-layer broadcast
a fragment other than the first
a datagram whose source address does not
define a single host
7
8. ICMP Features
ICMP messages are never sent in response to
ICMP error messages. They may be sent in
response to ICMP query messages (ICMP types
0, 8, 9, 10 and 13 through 18).
RFC 792 states that ICMP messages “may” be
generated to report IP datagram processing
errors, not “must”. In practice, routers will almost
always generate ICMP messages for errors, but
for destination hosts, the number of ICMP
messages generated is implementation
dependent.
8
9. ICMP Message Format
ICMP messages are described in RFC 792 and RFC 950,
belong to STD 5 and are mandatory.
ICMP messages are sent in IP datagrams. The IP header
will always have a Protocol number of 1, indicating ICMP
and a type of service of zero (routine). The IP data field will
contain the actual ICMP message in the format shown in
the figure below:
9
10. ICMP Message Transport
ICMP encapsulated in IP
But ... how can that work?
ICMP messages sent in response to incoming
datagrams with problems
ICMP message not sent for ICMP message
10
11. Error Detection
Internet layer can detect a variety of errors:
Checksum (header only!)
TTL expires
No route to destination network
Can't deliver to destination host (e.g., no ARP
reply)
Internet layer discards datagrams with problems
Some - e.g., checksum error - can't trigger error
messages
11
12. Types of Messages
ICMP defines two types of messages: error
and informational messages
Error messages:
Source quench
Time exceeded
Destination unreachable
Redirect
Fragmentation required
Informational messages:
Echo request/reply
Address mask request/reply
Router discovery 12
14. ICMP Message Types
Type Code Description Query Error Type Code Description Query Error
0 0 Echo reply • 5 Redirect
3 Destination unreachable: 0 Redirect for network •
0 Network unreachable • 1 Redirect for host •
1 Host unreachable • 2 Redirect for TOS and Net •
2 Protocol unreachable 3 Redirect for TOS and Host •
•
3 Port unreachable • 8 0 Echo request •
4 Fragmentation needed • 9 0 Router advertisement •
5 Source route failed • 10 0 Router solicitation •
6 Destination network unknown 11 Time exceeded
•
7 Destination host unknown 0 TTL equals 0 during transit •
•
8 Source host isolated 1 TTL equals 0 during reassembly •
9 Destination net prohibited •
12 Parameter problem
10 Destination host prohibited •
0 IP header bad •
11 Network unreachable for TOS • 1 Required option missing •
12 Host unreachable for TOS • 13 0 Timestamp request •
13 Communication prohibited • 14 0 Timestamp reply •
14 Host precedence violation • 15 0 Information request •
15 Precedence cutoff in effect • 16 0 Information reply •
4 0 Source quench • 17 0 Address mask request •
18 0 Address mask reply •
14
15. ICMP and Reachability
An internet host, A, is reachable from
another host, B, if datagrams can be
delivered from A to B
ping program tests reachability - sends
datagram from B to A that A echoes back
to B
Uses ICMP echo request and echo reply
messages
Internet layer includes code to reply to
incoming ICMP echo request messages
15
16. Destination Unreachable
Codes
Code Meaning
0 Network unreachable
1 Host unreachable
2 Protocol unreachable
3 Port unreachable
4 Fragmentation need and don’t fragment bit set
5 Source route failed
6 Destination network unknown
7 Destination host unknown
8 Source host isolated
9 Communication with dest net administratively prohibited
10 Communication with dest host administratively prohibited
11 Network unreachable for type of service
12 Host unreachable for type of service
16
17. ICMP Unreachable Error
Unreachable errors are generate for a
number of reasons
network unreachable
host unreachable
type (3) code (0-15) 16-bit checksum
unused (must be 0)
IP header (including options) + first 8 bytes of IP datagram data
17
18. Handling of ICMP Messages
Type Code Description Handled by
0 0 Echo reply User process
3 Destination unreachable:
0 Network unreachable “No route to host”
1 Host unreachable “No route to host”
2 Protocol unreachable “Connection refused”
3 Port unreachable “Connection refused”
4 Fragmentation needed “Message too long”
5 Source route failed “No route to host”
6 Destination network unknown “Network is unreachable”
7 Destination host unknown “No route to host”
8 Source host isolated “No route to host”
9 Destination net prohibited “Network is unreachable”
10 Destination host prohibited “No route to host”
11 Network unreachable for TOS “Network is unreachable”
12 Host unreachable for TOS “No route to host”
13 Communication prohibited (ignored)
14 Host precedence violation (ignored)
15 Precedence cutoff in effect (ignored)
4 0 Source quench Kernel for TCP; ignored by UDP
18
19. Handling of ICMP Messages
Type Code Description Handled by
5 Redirect
0 Redirect for network Kernel updates routing table
1 Redirect for host Kernel updates routing table
2 Redirect for TOS and Net Kernel updates routing table
3 Redirect for TOS and Host Kernel updates routing table
8 0 Echo request Kernel generates reply
9 0 Router advertisement User process
10 0 Router solicitation User process
11 Time exceeded
0 TTL equals 0 during transit User process
1 TTL equals 0 during reassembly User process
12 Parameter problem
0 IP header bad “Protocol not available”
1 Required option missing “Protocol not available”
13 0 Timestamp request Kernel generates reply
14 0 Timestamp reply User process
15 0 Information request Kernel generates reply
16 0 Information reply User process
17 0 Address mask request Kernel generates reply
18 0 Address mask reply User process
19
20. Ping Program
Ping stands for “Packet InterNet Groper”
The ping program tests whether another
host is reachable
The program works by sending an ICMP
echo request to a host, expecting an ICMP
echo reply to be returned
Normally ping is used as a diagnostic tool
to test network connectivity
20
21. Client/Server Programs
Ping is is an example of a client/server
program
the client sends the request to a server
the server returns the reply
Most TCP/IP implementations support the
ping server directly in the kernel
21
22. Ping Implementation
Unix implementations set the identifier field to the
process ID of the sender
The sequence number starts at 0 and is
incremented every time a new echo request is
sent
Ping operates in one of two modes
send a single request, if a response is received
the host is alive
send one request every second
Ping in Action
IP Record Route Option
22
23. ICMP and Internet Routes
List of all routers on path from A to B is called the route
from A to B
traceroute uses UDP to non-existent port and TTL field to
find route via expanding ring search
Sends ICMP echo messages with increasing TTL
Router that decrements TTL to 0 sends ICMP time
exceeded message, with router's address as source
address
First, with TTL 1, gets to first router, which discards
and sends time exceeded message
Next, with TTL 2, gets through first router to second
router
Continue until message from destination received
traceroute must accommodate varying network delays
Must also accommodate dynamically changing routes
23
24. ICMP and Path MTU
Discovery
Fragmentation should be avoided
How can source configure outgoing datagrams to
avoid fragmentation?
Source determines path MTU - smallest network
MTU on path from source to destination
Source probes path using IP datagrams with
don't fragment flag
Router responds with ICMP fragmentation
required message
Source sends smaller probes until destination
reached 24
25. Information Request/Reply:
This request is intended for a diskless system to
obtain its subnet mask
Set source and destination addresses to 0 in the
request and broadcast
Server replies back with your IP address
(Not used. Replaced by RARP and BOOTP)
Address Mask Request/Reply: What is the subnet
mask on this net? Replied by “Address mask
agent”
type (17 or 18) code (0) 16-bit checksum
identifier (can be set to anything) sequence (can be set to anything)
32-bit subnet mask 25
27. ICMP Messages: Time
Exceeded
Time Exceeded: Time to live field in one of
your packets became zero.” or
“Reassembly timer expired at the
destination.
27
28. ICMP Messages: Redirect
Default route may cause extra hop
Router that forwards datagram on same
interface sends ICMP redirect
Host installs new route with correct router
as next hop Host Y
Router A Host Y is reachable
in one hop through
Router A
IP Packet
Redirection:
“Next time, use Router A
Host X for this destination host” Router B
28
29. ICMP Messages: Redirect
Redirect: Please send to router X instead
of me.
0 = Redirect datagrams for the network
1 = Redirect datagrams for the host
2 = Redirect datagrams for the type of
service and net
3 = Redirect datagrams for the type of
service and host
29
30. ICMP Timestamp Request &
Reply
Used to return the current time from
another host
Could be used for (primitive) time
synchronization protocol, but NTP and
XNTP do a much better job
type (13 or 14) code (0) 16-bit checksum
identifier (can be set to anything) sequence (can be set to anything)
32-bit originate timestamp
32-bit receive timestamp
32-bit transmit timestamp
30
31. ICMP Timestamp Request &
Reply
The recommended value to be returned is
the number of milliseconds since midnight,
Coordinated Universal Time (UTC).
A drawback is that only the time since
midnight is returned. The caller must know
the date form some other means
31
32. ICMP Summary
Internet layer provides best-effort delivery service
May choose to report errors for some problems
ICMP provides error message service
ICMP is the control sibling of IP
ICMP is used by IP and uses IP as network layer
protocol - Encapsulated in IP datagram - Not reliable
Feedback about problems
e.g. time to live expired
ICMP is used for ping, traceroute, and path MTU
discovery
Transfer of (control) messages from routers and
hosts to hosts
32